寻找我们可以在ASP.NET MVC-5 IIS-8站点中使用的方法,根据查询字符串中包含的短语列表返回410错误响应(消失)。
为什么呢?我们从信誉良好的机器人(例如谷歌,必应,雅虎)那里收到了几百个每日垃圾邮件,这些邮件是我们网站上从未有过的荒谬命名页面。我认为,对于大多数这些页面,我可以测试一个给定的关键词是否存在,如果存在,则返回410.我想返回410告诉机器人他们可以删除他们的永久上市,从而提供逐步改善的SEO环境。
以下是我们将以粗体测试的关键短语接收的一些网址示例。
https://www.example.com:443/的苹果触摸 -icon-precomposed.png
http://ww.w.example.com:80/的 zdjqhhmtkatt html的
我知道这在其他编程环境中非常适合.htaccess,所以我希望它也是ASP.MVC的优雅解决方案。
答案 0 :(得分:0)
您可以使用URL rewrite模块执行此操作。 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>