Reescrita de URL do IIS, somente localhost (arquivos e pastas ausentes)

Reescrita de URL do IIS, somente localhost (arquivos e pastas ausentes)

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>

informação relacionada