我想知道是否可以从网址 中删除网址参数(意味着重定向到没有该参数的网址版本)。这意味着它不一定必须在最后。它是一个全局参数,因此会影响多个URL。
示例:
www.example.com/example.html?sale=1 301 -> www.example.com/example.html
www.example.com/example.html?sale=1&color=black 301 -> ww.example.com/example.html&color=black
等
答案 0 :(得分:0)
您可以使用这两个规则从您的网址中删除查询(密钥和值):
RewriteEngine on
#1)
RewriteCond %{THE_REQUEST} /\?sale=[1]\sHTTP
RewriteRule ^ %{REQUEST_URI}? [NC,NE,L,R]
#2)
RewriteCond %{THE_REQUEST} /\?sale=1&([^\s]+)
RewriteRule ^ %{REQUEST_URI}?%1 [NC,NE,L,R]
上面的第一条规则从
重定向浏览器到
,第二条规则重定向浏览器:
到
如果您确定重定向工作正常,请在两个规则中将R
更改为R=301
。