PHP 伪静态如何实现
PHP 伪静态实现方法
伪静态(URL Rewrite)是通过服务器配置将动态URL转换为静态形式的URL,提升SEO友好性和用户体验。以下是几种常见的实现方式:
使用Apache的mod_rewrite模块
确保Apache已启用mod_rewrite模块,在.htaccess文件中添加规则:
RewriteEngine On
RewriteRule ^article/([0-9]+).html$ /article.php?id=$1 [L]
此规则将/article/123.html映射到/article.php?id=123。
Nginx配置实现
在Nginx的配置文件中添加规则:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
对于特定路由:
rewrite ^/article/([0-9]+).html$ /article.php?id=$1 last;
PHP框架内置路由
现代PHP框架(如Laravel、Symfony)内置路由功能,无需手动配置服务器。例如Laravel中定义路由:

Route::get('/article/{id}', function ($id) {
return view('article', ['id' => $id]);
});
注意事项
- 服务器需支持URL重写,Apache需开启
AllowOverride All。 - 伪静态规则需避免与其他路由冲突。
- 动态参数需做好安全过滤,防止SQL注入等攻击。
- 修改配置后重启服务器使规则生效。
测试验证
访问伪静态URL(如/article/123.html),检查是否能正确返回动态页面内容,并观察参数传递是否正常。可通过浏览器开发者工具或日志文件调试。






