我有一个页面抓取器用于从站点的子目录中抓取内容,而我的重写规则正在干扰内容抓取。例如,爬虫正在抓取旧版网站的内容:
/catalog/catalog.asp?page=23§ion=14
然后使用它来填充新版本:
/PartsBook/Catalog.aspx?page=23§ion=14
除了使用此内容预填充新站点外,我还将旧网址重定向给那些将他们的书标记到新网址的人。问题在于它导致刮板尝试读取新页面而不是旧页面。有没有办法使用规则条件将规则限制为仅影响非本地请求?
我有一个页面抓取器用于从站点的子目录中抓取内容,而我的重写规则正在干扰内容抓取。例如,爬虫正在抓取旧版网站的内容:
/catalog/catalog.asp?page=23§ion=14
然后使用它来填充新版本:
/PartsBook/Catalog.aspx?page=23§ion=14
除了使用此内容预填充新站点外,我还将旧网址重定向给那些将他们的书标记到新网址的人。问题在于它导致刮板尝试读取新页面而不是旧页面。有没有办法使用规则条件将规则限制为仅影响非本地请求?
也许您可以使用此代码段进行 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>