Мы работаем с веб-сайтами, которые время от времени копируются в локальную среду для плановой отладки и т. д.
На этих сайтах много медиа, созданных пользователями, в частности, изображений. Чтобы избежать загрузки всех этих файлов, у нас есть простое правило перенаправления, поэтому любые файлы/папки в определенной папке, которые возвращают 404, перенаправляются на рабочий сервер.
Проблема
Правило следует применять только в том случае, если веб-сайт работает на локальном хосте.
например условие: запрос — localhost.
<!-- Handle missing files or folders inside
the /Media directory on Development Environment -->
<rule name="Handle missing media" stopProcessing="true">
<match url="^media/(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<!-- Add Conditions, so local only -->
</conditions>
<action type="Redirect" redirectType="Temporary"
url="http://production.domain/{R:0}" appendQueryString="true" />
</rule>
решение1
У меня сейчас нет машины, чтобы проверить это, но я думаю, что дополнительное условие вроде этого должно сработать:
<conditions>
<add input="{REMOTE_ADDR}" pattern="127.0.0.1" />
</conditions>
или даже:
<conditions>
<add input="{REMOTE_HOST}" pattern="localhost" />
</conditions>