Redirecionar todos os visitantes não www para o www [closed]

0

Eu continuo recebendo variações da resposta a seguir, e isso não funciona

RewriteCond %{HTTP_HOST} !^www.alwaysroaming.com$
RewriteRule ^(.*)$ http://www.alwaysroaming.com/$1 [R=301,L]

A razão pela qual esta solução não é boa é que se eu for para

alwaysromaing.com/site

Nunca serei redirecionado para o WWW.alwaysroaming.com/site

Alguém pode fornecer a reescrita correta exigida aqui?

    
por Jason 01.06.2011 / 14:25

2 respostas

2

Eu sugeriria isso:

RewriteCond %{HTTP_HOST} !^www.alwaysroaming.com$ [NC]
RewriteRule ^/(.*)$ http://www.alwaysroaming.com/$1 [R=301,L]

A parte chave é o '/' depois do '^' na segunda linha. O NC significa que ele funcionará se alguém digitar misto / maiúsculo.

    
por 01.06.2011 / 14:45
0

Esta é uma pergunta tão comum que faz parte da documentação para mod_rewrite - que você leu, né?

Supondo que você esteja executando na porta 80:

RewriteCond %{HTTP_HOST}   !^fully\.qualified\.domain\.name [NC]
RewriteCond %{HTTP_HOST}   !^$
RewriteRule ^/(.*)         http://fully.qualified.domain.name/$1 [L,R]

a documentação tem outro exemplo caso você não esteja na porta 80 e cubra outros cenários comuns

    
por 01.06.2011 / 14:55