如何通过RewriteRule将友好URL重写为带查询字符串的指定PHP文件?
没问题,我来帮你把那个带参数的URL转成干净的友好格式!下面是完整的.htaccess配置,直接用就行:
Options +FollowSymLinks # 开启Apache重写引擎 RewriteEngine On # 跳过真实存在的文件和目录,避免重写规则干扰正常资源访问 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # 核心重写规则:把 /about/history 转发到 footer1.php?page=about&cat=history RewriteRule ^([^/]+)/([^/]+)$ footer1.php?page=$1&cat=$2 [L,QSA]
简单解释下规则细节:
^([^/]+)/([^/]+)$:这个正则会匹配URL里的两个连续路径段(比如about/history),第一个括号里的内容会被赋值给page参数,第二个给cat参数。[L,QSA]:L告诉Apache这是最后一条规则,匹配到就别往下走了;QSA是个贴心设置——如果用户访问时带了额外参数(比如/about/history?foo=bar),会自动把这些参数追加到转发后的URL里,不会丢失。
额外注意事项:
- 确保你的Apache服务器已经启用了
mod_rewrite模块(大部分主机默认都开着,本地环境比如XAMPP/WAMP一般也默认启用)。 - 把这个.htaccess文件放到
seestatus_new目录下,和你的footer1.php文件同级。 - 测试的时候直接访问
http://localhost/seestatus_new/about/history,就能正常加载footer1.php并获取到对应的page和cat参数啦!
内容的提问来源于stack exchange,提问作者Sanit Ghosh
相关产品推荐
相关产品推荐

