2013-03-03
htaccess中RewriteRule的301重定实现跳转不要带参数Querystring值

在做htaccess 中 rewrite规则时,其中301跳转,发现跳转后的网址自动加上了参数传递,也就是Querystring。 如这样的规则:

RewriteRule ^oldsite/product/productname.aspx http://subdomain.newsite.com/product [L,R=301]

当遇到这样的网址时,就自动带上参数

RewriteRule ^oldsite/product/productname.aspx?=QUERYSTRING http://subdomain.newsite.com/product [L,R=301]

会变成这样的网址:

http://subdomain.newsite.com/product?=QUERYSTRING

最根本解决htaccess中RewriteRule的301重定实现跳转不要带参数Querystring值的方法是使用这样的RewriteRule:

RewriteRule ^oldsite/product/productname.aspx?=QUERYSTRING http://subdomain.newsite.com/product? [L,R=301]

也就是后面加了个问号就解决问题了。英语好的朋友可以参考下原文

Read More