php 伪静态实现
伪静态实现方法
伪静态是指通过服务器配置或程序处理,将动态URL转换为静态URL的形式,提升SEO友好性和用户体验。PHP中常见的实现方式有以下几种:
Apache服务器配置
在网站根目录下创建或修改.htaccess文件,添加以下规则:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L,QSA]
这段代码会将所有非真实存在的文件或目录请求重定向到index.php,并将路径作为参数传递。
Nginx服务器配置
在Nginx的站点配置文件中添加以下规则:

location / {
try_files $uri $uri/ /index.php?$query_string;
}
这实现了与Apache类似的伪静态效果,将所有不存在的文件请求转发到index.php。
PHP路由处理
在index.php中获取请求路径并解析:
$request = $_SERVER['REQUEST_URI'];
$path = parse_url($request, PHP_URL_PATH);
$segments = explode('/', trim($path, '/'));
然后可以根据$segments数组中的内容来匹配对应的控制器和动作。

框架路由实现
现代PHP框架如Laravel、Symfony等都内置了强大的路由功能:
// Laravel示例
Route::get('/post/{id}', function ($id) {
return view('post.show', ['post' => Post::findOrFail($id)]);
});
注意事项
URL重写规则需要根据实际项目结构调整,确保不会影响真实静态文件的访问。
伪静态实现后,原有的动态URL可能无法直接访问,需要考虑301重定向保持SEO权重。
测试时需清除浏览器缓存,确保看到的是最新的重写效果。






