Existe alguma vantagem em redirecionar vs reescrever quando “esconder” o prefixo de domínio 'www'?

2

Usando hosts virtuais, tenho o hábito de usar isso:

<VirtualHost: *:80>
    ServerName www.example.com
    Redirect permanent / http://example.com/
</VirtualHost>

No entanto, muitas vezes vejo a reescrita usada em vez disso:

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

Existe alguma vantagem em uma abordagem sobre a outra?

    
por tvon 18.02.2011 / 20:39

2 respostas

2

Se você não precisa de mod_rewrite, então não o use. Para casos simples como este mod_alias é perfeitamente suficiente e muito mais simples de entender. Além disso, enquanto menor, o mod_alias é mais rápido que o mod_rewrite - isso pode fazer a diferença em sites de alto volume.

    
por 18.02.2011 / 20:50
2

Essas duas diretivas resultam no envio do mesmo código 301 de volta ao navegador. Portanto, nenhuma vantagem para um ou outro. Você deve escolher um com base no que for mais confortável usando e facilitar a leitura do arquivo de configuração.

Ambos são capazes de enviar também algo diferente do código 301 (Redirecionamento permanente). Você deve sempre usar um 301 ao eliminar (ou exigir) o "www" para maior clareza para SEO e navegadores. Os outros tipos de redirecionamentos são usados menos comumente (muito raramente); um "redirecionamento temporário" é o mais comum deles, e só deve ser usado quando o destino do redirecionamento for alterado com frequência (por exemplo, um link da sua entrada de blog mais recente ou algo parecido).

    
por 18.02.2011 / 20:42