LOGO UOL HOST

Como utilizar o módulo URL Rewrite do IIS 7/Windows 2008 no UOL HOST?

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 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, é possível 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 é possível 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 (//learn.iis.net/page.aspx/470/importing-apache-modrewrite-rules/) 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.

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>
  < configuration>< /configuration>
  < system.webserver>< /system.webserver>
  < rewrite>< /rewrite>
  < rules>< /rules>
  < rule>....< /rule>
< /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">
  < rule name="exemplo 1">< /rule>
  < match ignorecase="true" url="^exemplo-([0-9]+).html$">< /match>
  < action appendquerystring="false" type="Rewrite" url="exemplo.asp?id={R:1}">< /action>
< /rule>


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

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


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 enabled="true" name="exemplo 3" stopprocessing="true">
 < match ignorecase="true" url="^(.*)$">
  < conditions logicalgrouping="MatchAll">
   < add ignorecase="true" input="{HTTP_HOST}" pattern="^(www.)?exemplo.com.br">
    < rule enabled="true" name="exemplo 3" stopprocessing="true">< /rule>
    < match ignorecase="true" url="^(.*)$">< /match>
    < conditions logicalgrouping="MatchAll">< /conditions>
    < add ignorecase="true" input="{HTTP_HOST}" pattern="^(www.)?exemplo.com.br">< /add>
    < add input="{R:1}" negate="true" pattern="^exemplo/">< /add>
    < action type="Rewrite" url="/exemplo/{R:1}">< /action>
   < /add>
  < /conditions>
 < /match>
< /rule>


Se você possui vários domínios contratados e deseja que todos os domínios sejam redirecionados para um domínio em específico, mantendo na barra de endereços apenas este, realize a configuração abaixo:
Esta configuração redireciona os endereços "exemplo.com" e "exemplo.net" para "exemplo.com.br"
 

< rule name="exemplo 4" stopprocessing="true">
< rule name="exemplo 4" stopprocessing="true">< /rule>
< match url="(.*)">< /match>
< action redirecttype="Permanent" type="Redirect" url="//exemplo.com.br/{R:1}">< /action>
< conditions logicalgrouping="MatchAny">< /conditions>
< add input="{HTTP_HOST}" pattern="^(www.)?exemplo.com$">< /add>
< add input="{HTTP_HOST}" pattern="^(www.)?exemplo.net$">< /add>
< /rule>

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

Para mais recursos:

- //www.iis.net/extensions/URLRewrite

- //blogs.iis.net/bills/archive/2008/05/31/urlrewrite-module-for-iis7.aspx

Assuntos recentes

Atendimento Online

Somente para assinantes

Fale com um dos nossos atendentes especializados via chat ou envie um e-mail.

Iniciar Chat ou Enviar E-mail

Central de atendimento

Atendimento 24 horas por dia, 7 dias por semana.

Se preferir você pode entrar em contato com a nossa central de atendimento

4003 9011 Capítais e regiões metropolitanas

0800 881 9011 Demais localidades