• Olá Visitante, se gosta do forum e pretende contribuir com um donativo para auxiliar nos encargos financeiros inerentes ao alojamento desta plataforma, pode encontrar mais informações sobre os várias formas disponíveis para o fazer no seguinte tópico: leia mais... O seu contributo é importante! Obrigado.
Portal Chamar Táxi

Como utilizar o modulo URL Rewrite do IIS 7

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Com a chegada do IIS7, abre-se automaticamente um leque de novas oportunidades. Uma delas é a customização de módulos para atender todo e qualquer tipo de requisição e neste cenário o módulo de URL Rewrite desenvolvido pela própria Microsoft, vem explorar um pouco deste potencial ainda tão pouco conhecido.

Com o URL Rewrite é possivel interceptar qualquer tipo de requisição seja ela ASP, ASP.NET, Perl ou HTML, e reescrever a URL antes que ela seja processada pelo IIS. A configuração é feita de forma fácil e intuitiva, atendendo tanto usuários experientes quanto os mais iniciantes.

Para usuários que nunca trabalharam com técnicas de URL Rewrite, é possivel realizar toda a configuração via IIS Manager remoto (Feature Delegation que está disponível no plano de hospedagem), utilizando-se de interfaces amigáveis e templates já prontos, possuindo inclusive recursos para o teste imediato de regras.

Para usuários mais experientes é possivel criar regras apenas alterando o arquivo web.config de sua aplicação. Usuários que já possuam conhecimento do famoso (e obscuro…) mod_rewrite do Linux, existe um recurso integrado que permite a importação deste arquivo para dentro do IIS. A própria interface realiza de maneira automática a conversão da sintaxe para os padrões Microsoft.
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Seguem abaixo alguns exemplos de regras que podem ser criadas com o IIS7 URL Rewrite, lembrando que se deve colocar as tags dentro do arquivo web.config:

<configuration>
<system.webServer>
<rewrite>
<rules>
<rule>....</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

Esta regra abaixo, reescreve a url originalmente enviada como:
“seudominio.com/exemplo-10.html” para “seudominio.com/exemplo.asp?id=10″

<rule name="exemplo 1">
<match ignoreCase="true" url="^exemplo-([0-9]+)\.html$" />
<action type="Rewrite" url="exemplo.asp?id={R:1}" appendQueryString="false" />
</rule>

Esta regra abaixo, reescreve a url originalmente enviada como:
“seudominio.com/teste” para “seudominio.com/exemplo.asp?parametro=teste”

<rule name="exemplo 2">
<match url="^([a-zA-Z0-9_-]+)/?$" ignoreCase="true" />
<action type="Rewrite" url="exemplo.asp?parametro={R:1}" appendQueryString="false" />
</rule>
 

helldanger1

GForum VIP
Entrou
Ago 1, 2007
Mensagens
29,631
Gostos Recebidos
1
Redirecionamento de domínio para pasta: Esta regra abaixo, redireciona o domínio “exemplo.com.br” para a pasta “exemplo” dentro da sua área de site.

<rule name="exemplo 3" enabled="true" stopProcessing="true">
<match url="^(.*)$" ignoreCase="true" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^(www\.)?exemplo\.com\.br" ignoreCase="true" />
<add input="{R:1}" negate="true" pattern="^exemplo/" />
</conditions>
<action type="Rewrite" url="/exemplo/{R:1}" />
</rule>

O módulo de rewrite já se encontra instalado em todos os nossos servidores e é uma funcionalidade exclusiva para Windows 2008/IIS7.
 
Topo