
Actualmente tengo un archivo perm_redirects.conf que se incluye en mi pila de configuración de Apache donde tengo líneas en el formato
RedirectPermanent /old/url/path /new/url/path
Parece que debo usar una URL absoluta para la nueva ruta, por ejemplo: http://example.com/new/url/path
. En los registros que estoy recibiendo"El destino de redireccionamiento incompleto /nueva/url/ruta se corrigió ahttp://ejemplo.com/new/url/path".(parafraseado).
En los documentos 2.2 de RewriteRule
, en la parte inferior muestran lo siguiente como una redirección válida, con solo las rutas de URL en lugar de una URL abs para el lado derecho de la redirección:
RewriteRule ^/old/url/path(.*) /new/url/path$1 [R]
Pero parece que no puedo hacer que ese formato funcione para replicar la funcionalidad de la RedirectPermanent
versión. es posible?
Respuesta1
WFM:
RewriteEngine On
RewriteOptions Inherit
RewriteRule ^/old/url/path(.*) /new/url/path$1 [R]
Resultado:
wget http://localhost/old/url/path/foo
--2010-08-09 15:41:20-- http://localhost/old/url/path/foo
Resolving localhost... 127.0.0.1
Connecting to localhost|127.0.0.1|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://localhost/new/url/path/foo [following]
--2010-08-09 15:41:20-- http://localhost/new/url/path/foo
Nota (1) probablemente desee [R = permanente]. El valor predeterminado es una redirección temporal. (2) No desea solo la [L] ya que eso resultará en una redirección interna invisible para el usuario final (no causada por la L, la acción predeterminada "" es una redirección interna). RedirectPermanent genera una respuesta 3xx para el usuario final. Puede agregar L, es decir, [R=permanent,L] para evitar que mod_rewrite procese más reglas.