首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以根据ASP.NET/IIS中的用户代理进行条件URL重写?

是否可以根据ASP.NET/IIS中的用户代理进行条件URL重写?
EN

Stack Overflow用户
提问于 2011-07-14 14:46:20
回答 2查看 3.4K关注 0票数 6

我工作的网站托管的内容经常被抓取并发布到其他地方。

是否可以重写URL,以便普通用户和白名单上的爬虫可以查看网站,但阻止访问无法识别的浏览器?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-07-15 04:09:03

可以,您可以使用URL重写模块(我正在使用v2 ..但它应该也可以与v1.x一起工作,尽管我没有v1.x可供测试):

代码语言:javascript
复制
<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 (或用户代理字符串中包含iphoneipod的任何其他浏览器/应用程序)的所有请求都将被重写(内部重定向)到/special-page.aspx

票数 11
EN

Stack Overflow用户

发布于 2011-07-14 14:57:16

如果有人真的想盗取你的内容,我想他改编技术来伪造一个允许的浏览器只是个时间问题。尽管如此,为每个用户代理提供不同的内容仍然是一个值得探索的特性。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6689436

复制
相关文章

相似问题

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