Отключить правила перезаписи 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>
Другие вопросы по тегам