一、准备工作
在开启伪静态功能前,需确认虚拟主机环境支持URL重写模块。对于Apache服务器需检查mod_rewrite
模块是否启用,可通过创建phpinfo.php
文件查看已加载模块列表;对于Nginx服务器需验证配置文件中包含rewrite
指令支持。
二、Apache服务器配置
Apache服务器的伪静态配置分为三个步骤:
- 在
httpd.conf
中启用LoadModule rewrite_module modules/mod_rewrite.so
,并确保该行未被注释; - 在虚拟主机配置段设置
AllowOverride All
以允许.htaccess
文件生效; - 在网站根目录创建
.htaccess
文件,添加重写规则例如:RewriteEngine On
和RewriteRule ^(.*)$ index.php/$1 [L]
。
三、Nginx服务器配置
Nginx服务器需在站点配置文件中添加以下规则:
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php/$1 last;
}
四、规则编写与调试
伪静态规则需根据程序路由需求定制,通用规则包含:
- 排除真实文件路径:
RewriteCond %{REQUEST_FILENAME} !-f
- 排除真实目录路径:
RewriteCond %{REQUEST_FILENAME} !-d
- 重定向到入口文件:
RewriteRule . /index.php [L]
五、常见问题处理
若出现403错误或规则不生效,需检查:
- 文件权限:确保
.htaccess
文件位于正确目录且有读取权限; - 路径匹配:Nginx配置中
root
指令需指向网站实际目录; - 缓存问题:修改配置后需重启服务或清除浏览器缓存。
正确开启伪静态功能需根据服务器类型选择配置方案,Apache依赖.htaccess
文件实现动态路由,而Nginx通过服务端重写规则完成URL转换。建议在配置完成后使用工具验证规则匹配效果,并定期检查日志文件排查异常请求。