Diferencia entre "Redirigir permanente" vs. mod_rewrite RewriteRule


9

Este es un servidor Apache httpd 2.2.

Requerimos que HTTPS encripte el acceso a este servidor web.

Cuando los clientes web visitan mi sitio en http://www.example.org/ $ foo (puerto 80), quiero redirigir su solicitud al sitio web cifrado HTTPS en https://www.example.org/ $ foo.

Parece que hay dos formas comunes de hacer esto:

El primer método usa la directiva ' Redirect ' de mod_alias:

<VirtualHost *:80>
    Redirect permanent / https://www.example.org/
</VirtualHost>

El segundo método usa mod_rewrite:

<VirtualHost *:80>
    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>

¿Cuál es la diferencia entre un "redireccionamiento permanente" y la estrofa mod_rewrite. ¿Es uno mejor que el otro?

Respuestas:


8

Por defecto mod_rewrite realiza redireccionamientos "302 encontrados", que son temporales. Asumiendo que todo lo demás es igual, Redirect permanentes equivalente a RewriteRule <blah> [R=permanent].


En realidad no, la Redirectdirectiva maneja mejor la redirección de http a https. Vea el comentario de Stefan a continuación y consulte esta sección de la documentación de Apache: httpd.apache.org/docs/current/rewrite/avoid.html#redirect
Gondy

7

¿Es uno mejor que el otro?

Apache ahora recomienda el uso de Redirectfrom en mod_aliaslugar de usar RewriteRulefrom mod_rewrite. Ver https://httpd.apache.org/docs/current/rewrite/avoid.html#redirect , que dice:

mod_rewrite debe considerarse un último recurso, cuando se encuentran otras alternativas deficientes. Usarlo cuando hay alternativas más simples conduce a configuraciones que son confusas, frágiles y difíciles de mantener.


5

Los motores de búsqueda verán una redirección permanente y actualizarán sus índices en consecuencia.


> ¿Es uno mejor que el otro?
Stefan Lasiewski
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.