如果 URL 包含特殊参数(URLEmail
中包含参数)则重定向到页面的基本 URL,不带任何参数。
例如:
http://example.com/accounts/daily/ybk/[email protected]
到
http://example.com/accounts/daily/ybk/
答案1
为了匹配查询字符串,您需要使用RewriteCond
(mod_rewrite) 指令并与QUERY_STRING
服务器变量进行匹配。例如,在您的根.htaccess
文件中尝试以下内容:
RewriteEngine On
RewriteCond %{QUERY_STRING} Email=
RewriteRule (.*) /$1? [R=301,L]
对于包含查询字符串中任何位置的所有 URL Email=
,301 重定向到减去查询字符串的相同 URL。
替换末尾?
的RewriteRule
将从重定向 URL 中删除查询字符串。或者,您可以QSD
在 Apache 2.4+ 上使用该标志。
如果您之前测试过错误的 301,请确保清除浏览器缓存。
更新:对于特定的 URL(包括Email=
在开始查询字符串):
RewriteEngine On
RewriteCond %{QUERY_STRING} ^Email=
RewriteRule ^(accounts/daily/ybk/)$ /$1? [R=301,L]
答案2
该mod_rewrite
模块应该能够帮助您。您将条件和重写规则写入 .htaccess 文件中。