iis-7 - 创建全局 IIS 7 重写规则

标签 iis-7 url-rewriting

我有指向我的开发机器的域的通配符 A 记录( **.* )。基本上,任何不是 www 的子域指向我的开发机器(root 除外)。

我从不希望我的开发机器被搜索引擎索引或“跟踪”。

我想做的是简单设置一个 全局 URL重写规则如下:

<rule name="Global robots.txt rewrite" stopProcessing="true">
    <match url="^robots\.txt" ignoreCase="true" />
    <action type="Rewrite" url="http://localhost/robots.txt" />
</rule>

上面的规则是行不通的;尽管以下重定向规则确实如此:
<rule name="GLobal robots.txt redirect" stopProcessing="true">
    <match url="^robots\.txt" ignoreCase="true" />
    <conditions>
        <add input="{HTTP_HOST}" pattern="^localhost$" negate="true" />
    </conditions>
    <action type="Redirect" url="http://localhost/robots.txt" />
</rule>

.. 但我不确定 301 重定向到 robots.txt 是否真的适用于搜索引擎。

关于如何完成我正在尝试的任何想法?

最佳答案

这看起来像一个很老的帖子,但我在寻找答案时发现了这个。您可以使用如下所示的规则来实现此目的:

<rule name="Robots Disallow" stopProcessing="true">
   <match url="robots.txt" />
   <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
     <add input="{HTTP_HOST}" pattern="www" negate="true" />
   </conditions>
   <action type="Rewrite" url="robots_disallow.txt" />
</rule>
robots_disallow.txt文件有以下内容:
User-agent: *
Disallow: /

关于iis-7 - 创建全局 IIS 7 重写规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3408315/

相关文章:

php - WordPress add_rewrite_rule 不起作用。为什么?

javascript - 如何从 Angular route 完全删除#标签?

ipad - Mobile Safari 发出多个视频请求

c# - 异常 : Unable to generate etag from dependencies

c# - 环回连接在 Windows Server 2008 上不起作用

c# - 调用 HttpRequest.GetBufferlessInputStream 后不支持此方法

javascript 避免重复的 URL

wcf - 无法更改WCF中的文化

ssl - IIS 重写规则将非 www 重定向到动态域等效且始终为 https

Nginx 将非 www 前缀域重写为 www 前缀域