大厦及;sa=U&;ei=在.htaccess中的请求?

大厦及;sa=U&;ei=在.htaccess中的请求?,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我有一个网站收到了很多这样的请求: http://site/folder/url.html&sa=U&ei=c9hNU7aVDOy(and more gibberish) 我已将此添加到我的.htaccess中: RewriteRule ^(.*)&sa=U /$1 [L,NC,R=301] 但它不起作用:该网站仍然发布404页。(我已经冲洗了缓存) 帮忙?非常感谢 如果要基于查询字符串(=获取参数)创建规则,必须使用RewriteCond,不能通过RewriteRu

我有一个网站收到了很多这样的请求:

http://site/folder/url.html&sa=U&ei=c9hNU7aVDOy(and more gibberish)
我已将此添加到我的.htaccess中:

RewriteRule ^(.*)&sa=U /$1 [L,NC,R=301]
但它不起作用:该网站仍然发布404页。(我已经冲洗了缓存)


帮忙?非常感谢

如果要基于查询字符串(=获取参数)创建规则,必须使用RewriteCond,不能通过RewriteRule访问它们。因此:

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

通常,使用
QUERY\u STRING
匹配查询字符串参数是公平的。
但是既然你没有领先的<代码>?<代码>它不认为它是查询字符串。 您的规则似乎正确。
不管怎样,它看起来不像预期的那样工作

您可以尝试以下替代方案,这是可行的

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

编辑:您的规则按照您想要的方式工作,您只需使您的模式更具体

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

谢谢,我试试看!