.net 禁用本地请求的web.config重写规则

.net 禁用本地请求的web.config重写规则,.net,web-config,urlrewriter.net,.net,Web Config,Urlrewriter.net,我有一个页面抓取器,用来抓取网站子目录中的内容,我的重写规则干扰了内容抓取。例如,scraper正在抓取旧版本网站的内容: /catalog/catalog.asp?第23页和第14节 然后使用它来填充新版本: /PartsBook/Catalog.aspx?第23页和第14节 除了用这些内容预填充新站点外,我还将旧的url重定向到新的url,以便将他们的书本标记为新的url。问题是,这会导致刮板尝试读取新页面,而不是旧页面。有没有办法使用规则条件将规则限制为仅影响非本地请求?也许您可以使用此代

我有一个页面抓取器,用来抓取网站子目录中的内容,我的重写规则干扰了内容抓取。例如,scraper正在抓取旧版本网站的内容:

/catalog/catalog.asp?第23页和第14节

然后使用它来填充新版本:

/PartsBook/Catalog.aspx?第23页和第14节


除了用这些内容预填充新站点外,我还将旧的url重定向到新的url,以便将他们的书本标记为新的url。问题是,这会导致刮板尝试读取新页面,而不是旧页面。有没有办法使用规则条件将规则限制为仅影响非本地请求?

也许您可以使用此代码段进行URL重写。您可以通过比较{REMOTE_ADDR}和刮板IP进行筛选

<rule name="Block SomeRobot" stopProcessing="true">
    <match url="^folder1/folder2" />
        <conditions logicalGrouping="MatchAny">
            <add input="{REMOTE_ADDR}" pattern="XXX\.XXX\.XXX\.[0-5]" />
        </conditions>
        <action type="redirect" url=""/>
</rule>