Trabalhamos com sites que ocasionalmente são copiados para um ambiente local para depuração de rotina, etc.
Esses sites têm muita mídia gerada pelo usuário – especificamente imagens. Para evitar o download de todos esses arquivos, temos uma regra de redirecionamento simples, para que quaisquer arquivos/pastas em uma determinada pasta que retornem 404 sejam redirecionados para o servidor de produção.
O problema
A regra só deve ser aplicada quando o site estiver rodando em localhost.
por exemplo, condição: a solicitação é 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>
Responder1
Não tenho uma máquina para testar isso agora, mas acho que uma condição adicional como esta deve funcionar:
<conditions>
<add input="{REMOTE_ADDR}" pattern="127.0.0.1" />
</conditions>
ou mesmo:
<conditions>
<add input="{REMOTE_HOST}" pattern="localhost" />
</conditions>