Return 410 错误基于 ASP.NET MVC 中的部分查询字符串
Return 410 Error Based on Part of Query String in ASP.NET MVC
寻找一种方法,我们可以在我们的 ASP.NET MVC-5 IIS-8 站点中使用,以 return 基于查询字符串中包含的短语列表的 410 错误响应(消失)。
为什么?我们每天都会收到来自信誉良好的机器人程序(例如 Google、Bing、雅虎)的数百次垃圾点击,因为我们网站上从未有过可笑的命名页面。我在想,对于这些页面中的大多数,我可以测试给定的关键短语是否存在,如果存在,return 410。我想 return 410 告诉机器人他们可以永久删除他们的列表,从而提供逐渐改进的 SEO 环境。
这是我们收到的一些 URL 示例,其中包含我要测试的关键短语(以粗体显示)。
https://www.example.com:443/apple-touch-icon-precomposed.png
http://ww.w.example.com:80/zdjqhhmtkatt.html
我知道这在其他编程环境中使用 .htaccess 非常可行,所以我希望 ASP.MVC.
也有一个优雅的解决方案
您可以使用 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>
寻找一种方法,我们可以在我们的 ASP.NET MVC-5 IIS-8 站点中使用,以 return 基于查询字符串中包含的短语列表的 410 错误响应(消失)。
为什么?我们每天都会收到来自信誉良好的机器人程序(例如 Google、Bing、雅虎)的数百次垃圾点击,因为我们网站上从未有过可笑的命名页面。我在想,对于这些页面中的大多数,我可以测试给定的关键短语是否存在,如果存在,return 410。我想 return 410 告诉机器人他们可以永久删除他们的列表,从而提供逐渐改进的 SEO 环境。
这是我们收到的一些 URL 示例,其中包含我要测试的关键短语(以粗体显示)。
https://www.example.com:443/apple-touch-icon-precomposed.png
http://ww.w.example.com:80/zdjqhhmtkatt.html
我知道这在其他编程环境中使用 .htaccess 非常可行,所以我希望 ASP.MVC.
也有一个优雅的解决方案您可以使用 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>