IIS7 URLRewrite em um site PHP

1

Eu tenho um site PHP em execução no IIS7 e preciso adicionar algumas regravações de URL, mas até agora parece estar ignorando minha regra. Aqui está a regra:

<rewrite>
    <rules>
        <rule name="VCard" stopProcessing="true">
            <match url="\?user=(.*)$" />
            <action type="Rewrite" url="http://www.otherserver.com/vcard.aspx?user={R:1}" redirectType="Permanent" appendQueryString="false" logRewrittenUrl="true" />
        </rule>
    </rules>
</rewrite>

Ao usar a interface do usuário para testar meu regex, ele diz que o link corresponde à regra e que R: 1 é "123456". Mas quando tento acessar o URL real, parece que não funciona.

O registro não parece muito útil:

2010-10-26 14:22:07 XXX.XXX.XXX.XXX GET / user=12345 80 - XXX.XXX.XXX.XXX Mozilla/5.0 (Windows;+U;+Windows+NT+6.1;+en-US)+AppleWebKit/534.10 (KHTML,+like+Gecko)+Chrome/8.0.552.11+Safari/534.10 200 0 0 187

Como mencionei acima, o site em si é em PHP (que eu estou menos familiarizado com hospedagem no IIS). Isso poderia impedir que o módulo de reescrita fosse executado? Estou perdendo um passo crítico em algum lugar?

    
por JakeS 26.10.2010 / 16:31

1 resposta

1

A correspondência de URL é apenas para o URL antes da string de consulta, como folder / vcard.aspx.

Provavelmente, é uma condição para {QUERY_STRING} que você precisa. Set. * Para o URL, se você quiser pegar tudo. Apenas tome cuidado para não executar um loop para essa consulta.

Isso pode ser útil: link

Não importa que seja PHP. O redirecionamento ocorre antes de processar o PHP.

    
por 28.10.2010 / 16:20