如何用Apache Rewrite规则移除查询字符串开头的&符号
Apache Rewrite规则:移除URL查询字符串开头的&符号
直接在你的.htaccess文件(或Apache配置文件)中添加以下规则即可实现需求:
RewriteEngine On RewriteCond %{QUERY_STRING} ^&(.*) RewriteRule ^(.*)$ /$1?%1 [R=301,L]
规则说明:
RewriteEngine On:开启URL重写功能,是所有Rewrite规则的执行前提。RewriteCond %{QUERY_STRING} ^&(.*):精准匹配查询字符串以&开头的请求,^(.*)会把&后面的所有内容捕获到变量%1中。RewriteRule ^(.*)$ /$1?%1 [R=301,L]:^(.*)$匹配当前请求的路径部分(比如示例中的index.htm);/$1?%1将原始路径和捕获到的查询字符串(已去掉开头的&)拼接成目标URL;R=301表示永久重定向(若需临时重定向,可改为R=302);L表示这是最后一条规则,匹配后不再执行后续Rewrite规则。
注意事项:
- 确保Apache服务器已启用
mod_rewrite模块; - 如果是在虚拟主机配置文件(
httpd.conf/vhosts.conf)中配置,规则中的路径可能需要根据实际部署情况调整。
内容的提问来源于stack exchange,提问作者who
相关产品推荐
相关产品推荐

