Apache2 - Forçando redirecionamento do site para o www
Dica publicada em Linux / Internet
Apache2 - Forçando redirecionamento do site para o www
Muitas vezes para manter a consistência dos dados em serviços como o Google Analytics é
necessário evitar que teu site responda por nomes de host redundantes. Por exemplo:
Neste caso o usuário pode digitar ambas as URLs que vai cair no mesmo local. Vamos forçar o servidor web a usar somente um dos nomes de host acima mencionados.
Faremos essa configuração através da diretiva VirtualHost do Apache2. Também é possível usar o arquivo .htaccess.
Exemplo 1: Redirecionar de vivaolinux.com.br → www.vivaolinux.com.br:
Na linha 1 eu habilito o "RewriteEngine", em seguida crio a condição "se nome do host começa com vivaolinux.", o que significa que o visitante não digitou www. Se a condição for verdadeira, executo a regra que adiciona o www. antes do nome do host e completa o redirecionamento HTTP do tipo 301 (permanente). Caso queira fazer um redirecionamento temporário use o código 302.
Exemplo 2: Se quiser fazer o contrário, use a seguinte sintaxe:
Fonte: Redirecting non-www to www with .htaccess | dense13.com
Um abraço.
- http://vivaolinux.com.br
e - http://www.vivaolinux.com.br
Neste caso o usuário pode digitar ambas as URLs que vai cair no mesmo local. Vamos forçar o servidor web a usar somente um dos nomes de host acima mencionados.
Faremos essa configuração através da diretiva VirtualHost do Apache2. Também é possível usar o arquivo .htaccess.
Exemplo 1: Redirecionar de vivaolinux.com.br → www.vivaolinux.com.br:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^vivaolinux\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^vivaolinux\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}$1 [R=301,L]
Na linha 1 eu habilito o "RewriteEngine", em seguida crio a condição "se nome do host começa com vivaolinux.", o que significa que o visitante não digitou www. Se a condição for verdadeira, executo a regra que adiciona o www. antes do nome do host e completa o redirecionamento HTTP do tipo 301 (permanente). Caso queira fazer um redirecionamento temporário use o código 302.
Exemplo 2: Se quiser fazer o contrário, use a seguinte sintaxe:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^vivaolinux\.com\.br$ [NC]
RewriteRule ^(.*)$ http://vivaolinux.com.br/$1 [R=301,L]
RewriteCond %{HTTP_HOST} !^vivaolinux\.com\.br$ [NC]
RewriteRule ^(.*)$ http://vivaolinux.com.br/$1 [R=301,L]
Fonte: Redirecting non-www to www with .htaccess | dense13.com
Um abraço.