1

搜索bot正在我的网站上扫描页面,现在有很多奇怪的GET参数。例如?x??728%10%02?%18%9B%D9%DF%05等。我不知道bot在哪里发现了这个url,但它让我的cpu冒烟,因为缓存系统不会使用GET参数处理url。重定向不需要的GET参数

我无法修改缓存系统,但我想通过.htaccess将GET参数重定向到相同的URL。但是我有一些重要的GET参数不应该被重定向。它是?s=...用于网站搜索和utm标签。

总之我想重定向以下网址

/some-url?x? 
/some-url?728%10%02 
/some-url?%18%9B%D9%DF%05 

和很多其他的GET PARAMS到

/some-url 

但保持不变的网址是这样的:

/some-url?s=searh_term or 
/some-url?utm_campaign=my_campaign 

回答

1

如果你可以选择一些GET参数,然后你可以在你的htaccess文件中检查它们,r在没有允许的参数的情况下转发所有请求

RewriteEngine On 
# check that there is indeed a query string 
RewriteCond %{QUERY_STRING} ^.+$ 
# check that it doesn't start with one of allowed parameters 
RewriteCond %{QUERY_STRING} !^(utm_campaign|s|other|parameters|list)= [NC] 
RewriteRule ^(.*)$ /$1? [R=301,L] 
+0

完美!万分感谢。 – Alexey