URL regravar no IIS7

1

O site da minha empresa tem um diretório link que tem dados obscuros que metade da empresa usa. Ele não se encaixa na nova estrutura do nosso site e eu gostaria de movê-lo para um novo servidor com o link . O problema que estou tendo é que muitos dos usuários ainda terão links semelhantes ao link

Foi-me dito que o URL Rewrite é a melhor opção para forçar um redirecionamento, mantendo a consulta, mas parece que estou perdendo alguma coisa. Qualquer ajuda seria apreciada.

web.config

<?xmlversion="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="wordpress" patternSyntax="Wildcard">
          <match url="*" />
          <conditions>
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
          </conditions>
          <action type="Rewrite" url="index.php" />
        </rule>
                <rule name="files" stopProcessing="true">
                    <match url="^files/(.*)" ignoreCase="true" />
                    <action type="Redirect" url="http://downloads.openeye.net/files/{R:1}" logRewrittenUrl="true" />
                </rule>
      </rules>
    </rewrite>
    <httpErrors>
      <remove statusCode="404" subStatusCode="-1" />
      <error statusCode="404" prefixLanguageFilePath="" path="/index.php?error=404" responseMode="ExecuteURL" />
    </httpErrors>
  </system.webServer>
</configuration>
    
por Zach Shallbetter 26.04.2011 / 00:31

1 resposta

2

Vários problemas na sua captura de tela:

  1. O padrão de expressão regular que você tem no campo Padrão só vai corresponder aos números após a última barra na URL. "files / subdir / 1234" irá corresponder. "files / subdir / app.exe" não corresponderá. Você precisa de ^files/([_0-9a-z-]+)/(.*) no campo padrão. Ou se tudo que você precisa é de qualquer coisa com os arquivos /, você pode usar ^files/(.*) . O recurso Padrão de teste é seu amigo aqui.

  2. Eu verificaria Ignorar caso, mas isso depende de você em seu cenário específico.

  3. O tipo de ação deve ser "Redirecionar"

  4. Supondo que você esteja usando ^files/(.*) para seu padrão de expressão regular, o URL de redirecionamento deve ser: http://downloads.openeye.net/files/{R:1}

Isso significaria que alguém que digitar link seria redirecionado para link

Ou se eles tiverem um URL mais longo, como o link , ele ainda será adicionado ao final de o novo URL ( link ).

    
por 26.04.2011 / 07:19

Tags