Por padrão, mod_rewrite faz redirecionamentos "302 Found", que são temporários. Supondo que tudo o resto seja igual, Redirect permanent
é equivalente a RewriteRule <blah> [R=permanent]
.
Este é um servidor Apache httpd 2.2.
Exigimos que o acesso a este servidor da Web seja criptografado por HTTPS.
Quando clientes da web visitam meu site no link $ foo (porta 80), desejo redirecionar a solicitação para o site criptografado com HTTPS no link $ foo.
Parece haver duas maneiras comuns de fazer isso:
O primeiro método usa a diretiva " Redirecionar 'de mod_alias:
<VirtualHost *:80>
Redirect permanent / https://www.example.org/
</VirtualHost>
Segundo método usa mod_rewrite:
<VirtualHost *:80>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>
Qual é a diferença entre uma sub-rotina "Redirect permanent" e a mod_rewrite. Um é melhor que o outro?
Os mecanismos de pesquisa verão um redirecionamento permanente e atualizarão seus índices de acordo.
Is one better then the other?
O Apache agora recomenda o uso de Redirect
de mod_alias
em vez de usar RewriteRule
de mod_rewrite
. Consulte o link , que diz:
mod_rewrite should be considered a last resort, when other alternatives are found wanting. Using it when there are simpler alternatives leads to configurations which are confusing, fragile, and hard to maintain.