寻找一种我们可以在我们的ASP.NET MVC-5 IIS-8站点中使用的方法,根据查询字符串中包含的短语列表返回一个410错误响应(gone)。
为什么?我们每天都会收到几百次来自著名机器人(如谷歌、必应、雅虎)的垃圾点击,因为它们的名字是我们网站上从未见过的可笑的网页。我认为,对于大多数这些页面,我可以测试给定的关键字短语是否存在,如果存在,则返回410。我想返回410告诉机器人,他们可以永久删除他们的清单,从而提供一个逐步改进的SEO环境。
这里有几个URL的例子,我们收到的关键短语,我会用黑体字测试。
https://www.example.com:443/apple-touch-icon-precomposed.png
http://ww.w.example.com:80/zdjqhhmtkatt.html
我知道在其他编程环境中使用.htaccess是非常可行的,所以我希望ASP.MVC也有一个优雅的解决方案。
发布于 2017-07-09 12:05:12
您可以使用URL重写模块来完成这一任务。web.config中的规则应该是这样的:
<rewrite>
<rules>
<rule name="410response" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAny">
<add input="{REQUEST_URI}" pattern="apple-touch" />
<add input="{REQUEST_URI}" pattern="zdjqhhmtkatt" />
</conditions>
<action type="CustomResponse" statusCode="410" statusReason="System unavailable" statusDescription="Gone. The requested resource is no longer available." />
</rule>
</rules>
</rewrite>https://stackoverflow.com/questions/44992769
复制相似问题