我工作的网站托管的内容不断被抓取并发布到其他地方。
是否可以重写 URL,以便普通用户和白名单爬虫可以查看网站,但阻止无法识别的浏览器访问?
最佳答案
是的,您可以使用 URL 重写模块 来做到这一点(我使用的是 v2 .. 但它也应该适用于 v1.x,尽管我没有 v1.x 可以测试) :
<system.webServer>
<rewrite>
<rules>
<rule name="UserAgentRedirect" stopProcessing="true">
<match url="^(.*)$" />
<conditions>
<add input="{HTTP_USER_AGENT}" pattern="(iphone|ipod)" />
</conditions>
<action type="Rewrite" url="/special-page.aspx" />
</rule>
</rules>
</rewrite>
</system.webServer>
根据上述规则,所有来自 iPhone 或 iPad(或任何其他在用户代理字符串中包含 iphone
或 ipod
的浏览器/应用程序)的请求都将被重写(内部重定向) ) 到 /special-page.aspx
。
关于c# - 是否可以根据 ASP.NET/IIS 中的用户代理进行条件 URL 重写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6689436/