301没有参数的URL重定向

时间:2016-03-12 10:10:55

标签: html .htaccess redirect

我想知道是否可以从网址 中删除网址参数(意味着重定向到没有该参数的网址版本)。这意味着它不一定必须在最后。它是一个全局参数,因此会影响多个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

1 个答案:

答案 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]

上面的第一条规则从

重定向浏览器
  • example.com/foo/?sale=1

  • example.com/foo /

,第二条规则重定向浏览器:

  • example.com/foo/?sale=1&foo=bar

  • example.com/foo/?foo=bar

如果您确定重定向工作正常,请在两个规则中将R更改为R=301