Pessoal, esses dias, tive que configurar um servidor cloud não gerenciado da Locaweb. A objetivo era migrar dois sites do plano cloud gerenciado que é mais caro. Confesso que tive muita dificuldades visto não nunca configurei um servidor em um ambiente de produção, somente em ambientes de desenvolvimento.
Entre as várias dificuldades que tive, foi quando a redirecionamento de URL, ou o rewrite. Ah, esqueci de dizer que sistema do servidor é Windows 2008, consequentemente com o IIS7 instalado e que deveria ser o servidor web padrão já que deveriam se instalados dois sites, um rodando ASP Classic e outro PHP, então não haveria motivos para instalar o Apache já que o IIS já é nativo do Windows. Eu me entendo relativamente bem com o redirecionamento rewrite no Apache. Fico bem confortável em abrir o HTACCESS e escrever as regras. Já no maldito IIS é uma luta de foice no escuro.
Tentei de várias maneiras fazer o redirecionamento. O primeiro problema que tive foi com acesso ao site com o www ou sem o www. Mexi nas configurações do site no IIS, não me pergunte quais pois não me lembro. Editei o arquivo web.config para incluir as rules e nada. Criei o arquivo httpd.ini com as regras, e nada. Tudo isso seguindo dicas que achei na internet. Até que depois de 2 dias quebrando a cabeça, parei, pensei e lembrei dos bindings, e foi isso que resolveu. Não vou ensinar agora como altera os bindings de um site mas como resolver o acesso com e sem o www no encereço.
Resolvendo o acesso com ou sem WWW
Selecionando o site no IIS 7, localize e clique em Bindings na coluna da esquerda da janela do IIS. Quando o site foi criado, uma entrada foi criada automaticamente no Bindings. Se o site criado foi www.site.com.br, a entrada que já está no Bindings será www.site.com.br. Então para fazer com que o site seja acessado quando for digitado o endereço sem o www no navegador, basta criar mais uma entrada no Bindings, desta vez para o host site.com.br. Pronto, revolvido o problemas. Depois de dois dias quebrando a cabeça com com o rewrite do IIS, revolvi o problema com meia dúzia de cliques.
Outro problema com redirecionamento
Outro problema que tive, foi com o redirecionamento de um endereço de uma aplicação web que foi divulgado errado. Tipo http://site.com.br/apliativo/. Reparem que no endereço, aplicativo está escrito sem o “c”. Pois bem, este endereço errado foi divulgado, por minha culpa, confesso pois fui eu que forneci, mas o endereço correto também pode ser acessado. Isso causou um calafrio quando percebi o erro, mas sem problema, tudo tem solução menos a morte. Respirei fundo abri o .htaccess do site (no servidor antigo) e fiz um rewrite do endereço errado para o endereço certo e resolvido.
Pois é meus amigos, tudo certo até o momento em que o site foi para o novo plano de hospedagem. Eu sabia que teria que fazer o redirecionamento também neste servidor com o IIS se não a coisa ai ficar feia pro meu lado. Entretanto, como eu já tinha quebrado a cabeça dois dias para resolver o problema do www no endereço dos sites, resolvi encontrar ums solução nas alterando as configurações do site no IIS, sem perder tempo com o rewrite.
Pensei, respirei fundo e lembrei do virtualhost. Abri o IIS, cliquei com o botão direito no site e inclui um virtualhost com o nome “apliativo” (sem o “c”), apontando para a pasta correta no servidor. Mais uma vez, a simplicidade resolveu o problema.
Bom caros colegas, sei que esse não foi um tutorial ou passo-a-passo clássico. Eu só queria transmitir minha experiência com esses problema que tive com o IIS 7. Espero que tenha sido útil, já que tive muita dificuldades em encontrar alguma dica ou artigo com uma solução que realmente funcionasse.