Отключить правила перезаписи web.config для локальных запросов
У меня есть скребок для страниц, используемый для захвата контента из подкаталога сайта, и мои правила переписывания мешают захвату контента. Например, скребок захватывает содержимое старой версии сайта:
/catalog/catalog.asp?page=23§ion=14
И затем используйте это, чтобы заполнить новую версию:
/PartsBook/Catalog.aspx?page=23§ion=14
В дополнение к предварительному заполнению нового сайта этим контентом, я перенаправляю старые URL-адреса для людей, у которых их книга помечена новым URL-адресом. Проблема в том, что он заставляет скребок пытаться прочитать новую страницу, а не старую. Есть ли способ использовать условие правила, чтобы ограничить правило только для нелокальных запросов?
1 ответ
Может быть, вы можете использовать этот фрагмент для перезаписи 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>