开启Apache的mod_rewrite模块并配置AllowOverride All,再在.htaccess中添加重写规则,即可实现URL重写,使URL更简洁利于SEO。

在使用PHP一键环境(如XAMPP、WAMP、phpStudy等)时,开启URL重写(URL Rewrite)功能可以让网站的URL更简洁、利于SEO。大多数PHP一键环境中默认未启用重写模块或未配置好伪静态规则,需要手动设置。
启用Apache的mod_rewrite模块
URL重写依赖Apache的mod_rewrite模块,首先要确保该模块已开启:
- 打开Apache的配置文件httpd.conf(通常位于
/apache/conf/httpd.conf) - 查找以下这行代码:
# LoadModule rewrite_module modules/mod_rewrite.so - 去掉前面的#号,使其生效
- 保存文件并重启Apache服务
设置AllowOverride以支持.htaccess
如果站点使用.htaccess文件来定义重写规则,必须允许目录覆盖权限:
- 在httpd.conf中找到你的网站根目录配置段,例如:
- 将其中的AllowOverride None改为AllowOverride All
- 这样Apache才会读取目录下的.htaccess文件
添加URL重写规则示例
在网站根目录创建或编辑.htaccess文件,加入你需要的重写规则。常见用法如下:
立即学习“PHP免费学习笔记(深入)”;
RewriteEngine OnRewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
说明:
- RewriteEngine On:开启重写引擎
- RewriteCond:判断请求的不是真实存在的文件或目录
- RewriteRule:将所有请求转发到index.php,实现前端控制器模式(常用于MVC框架)
测试重写是否生效
完成配置后,可以进行简单测试:
- 创建一个测试页面test.php,内容为
- 访问http://localhost/test/hello,如果输出hello,说明重写成功
- 若出现404错误,请检查模块是否开启、AllowOverride设置及规则语法
基本上就这些。只要开启mod_rewrite、允许.htaccess、写对规则,URL重写就能正常运行。不同项目可能有特定规则,但原理一致。不复杂但容易忽略细节。











