2014-04-16 26 views
0

我有一个网站,是获得了很多的请求是这样的:block&sa = U&ei =请求.htaccess?

http://site/folder/url.html&sa=U&ei=c9hNU7aVDOy(and more gibberish) 

我已经添加到了我的.htaccess:

RewriteRule ^(.*)&sa=U /$1 [L,NC,R=301] 

但它不工作:现场仍递出404页。 (我刷了缓存)。

帮助?非常感谢!

回答

1

通常情况下,这本来是公平使用QUERY_STRING匹配查询字符串参数。
但由于您没有领先?它不认为它作为查询字符串。

你的规则似乎是正确的。
无论如何,它看起来不像预期的那样工作。

你可以试试下面的替代方案,这是工作

RewriteRule ^(.*)&sa=U.*$ /$1 [L,NC,R=301] 

编辑:您的规则正在工作,你想要的方式,你只需要做你的模式更具体

RewriteRule ^([^&]*)&sa=U /$1 [L,NC,R=301] 
+0

谢谢,这工作! (是的!) – HeK

0

如果你想在查询字符串(= GET参数)上建立规则库,你必须使用RewriteCond,你不能通过RewriteRule来访问它们。所以:

RewriteCond %{QUERY_STRING} sa=U [NC] 
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [L,R=301] 
+0

谢谢,我会试试看! – HeK