Artigos & Ideias

.htaccess “Em Manutenção” Redireccionamento

Escrito por:

Recentemente, precisei de mover um site a partir de um servidor partilhado para um servidor privado. Após algumas discussões com uns amigos sobre a melhor solução, decidi simplesmente acrescentar uma página “Site Offline para Manutenção”, para impedir que os utilizadores efectuassem encomendas durante a mudança. Para tal, utilizei o .htaccess, assim consegui redireccionar todos os utilizadores para uma página “manutencao.html”, não importando a página que eles solicitassem.

O Código

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^/manutencao\.html$
RewriteRule ^(.*)$ http://dominio.com/manutencao.html [R=307,L]

Assim que coloquei a página “manutencao.html” e o .htaccess, em ambos os servidores (novo e velho), troquei as configurações de DNS. Depois do DNS ter sido alterado, queria ter certeza de que o site iria funcionar bem no novo servidor. Infelizmente, o código acima, bloqueia o acesso a TODOS que tentassem aceder ao site. Felizmente, um amigo arranjou-me a solução:

RewriteEngine On
RewriteBase /
RewriteCond %{REMOTE_ADDR} !^10\.10\.10\.10
RewriteCond %{REQUEST_URI} !^/manutencao\.html$
RewriteRule ^(.*)$ http://dominio.com/manutencao.html [R=307,L]

O código acima, redirecciona todos os utilizadores para a página manutencao.html, EXCEPTO o IP especificado (10.10.10.10), que no meu caso, substitui pelo meu, para poder aceder e verificar que tudo estava operacional. Quando estava satisfeito com o site, bastou remover o .htaccess e o site ficou Online de imediato!

3


Sobre o Autor

Carlos Gonçalves é um Freelancer com bastante experiência em linguagens de programação e webdesign. Vocacionado para as novas tecnologias, aposta na qualidade dos serviços, atendimento rápido e sempre disponível para melhor satisfazer os seus clientes. Autor do site cgoncalves.com

Comentários

  1. softclean  4 Março 2009

    Porquê o código HTTP 307?

    (responder)
  2. Carlos Gonçalves  5 Março 2009

    Olá softclean, o HTTP 307 porque trava-se de um redireccionamento temporário.
    A resposta do servidor deve incluir sempre um URL alternativo de redireccionamento. Se isso acontecer, o browser irá imediatamente abrir o URL alternativo, dessa forma nunca aparece o erro HTTP 307.
    Dessa forma, garanti que a página de manutencao.html foi sempre exibida.

    (responder)

Comentar

Nota: A moderação de comentários está activada e pode atrasar o teu comentário. Não há necessidade de reenviares o teu comentário.

More in Outros (1 of 12 articles)

# #