Отключить правила перезаписи web.config для локальных запросов - PullRequest
7 голосов
/ 29 ноября 2011

У меня есть скребок для страниц, используемый для захвата контента из подкаталога сайта, и мои правила переписывания мешают захвату контента.Например, скребок захватывает содержимое старой версии сайта:

/ catalog / catalog.asp? Page = 23§ion = 14

, а затем используется для заполненияновая версия:

/ PartsBook / Catalog.aspx? page = 23§ion = 14

В дополнение к предварительному заполнению нового сайта этим контентом, я перенаправляю старые URL-адреса для людей, которые имеютИх книга помечена новым URL.Проблема в том, что он заставляет скребок пытаться прочитать новую страницу, а не старую.Есть ли способ использовать условие правила, чтобы ограничить правило только для нелокальных запросов?

1 Ответ

0 голосов
/ 29 ноября 2016

Может быть, вы можете использовать этот фрагмент для перезаписи 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>
...