首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重定向到不想要的获取参数

重定向到不想要的获取参数
EN

Stack Overflow用户
提问于 2015-04-12 19:50:24
回答 1查看 76关注 0票数 1

一个搜索机器人正在我的网站上扫描页面,现在有很多奇怪的获取对象。例如,?x??728%10%02?%18%9B%D9%DF%05等。我不知道机器人在哪里找到了urls,但它让我的cpu冒烟,因为缓存系统不会用GET params处理urls。

我没有能力修改缓存系统,但是我想通过.htaccess将GET params的请求重定向到同一个url,而不使用GET params。但我有一些重要的不应该被重定向的对撞机。它是用于站点搜索和utm标签的?s=...

总之,我想重定向以下urls

代码语言:javascript
复制
/some-url?x?
/some-url?728%10%02
/some-url?%18%9B%D9%DF%05

其他很多人也会

代码语言:javascript
复制
/some-url

但是保持这样的未被访问的urls:

代码语言:javascript
复制
/some-url?s=searh_term or
/some-url?utm_campaign=my_campaign
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-12 20:22:23

如果您选择了一些GET参数,那么您可以在htaccess文件中对它们进行检查,并在没有允许参数的情况下重定向所有请求。

代码语言:javascript
复制
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]
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29593901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档