Pregunta

Estoy reelaboración mi sitio web, va a cambiar el nombre de una gran cantidad de directorios, y necesito una forma sencilla de escribir mi .htaccess redirige para todas esas páginas. Tengo la esperanza de una solución que no incluya una lista muy larga de archivos. Mi archivo .htaccess es enorme, ya que es.

¿Fue útil?

Solución

Puede utilizar mod_alias o mod_rewrite para su redireccionamiento. mod_rewrite funciona con expresiones regulares y mod_alias pueden trabajar en ambos expresión y la ruta normal prefijos.

Estos son algunos ejemplos de cuando se quiere volver a escribir /foo/… a /bar/…:

# mod_alias
# path prefix
Redirect 301 /foo /bar
# regular expression
RedirectMatch 301 ^/foo/(.*) /bar/$1

# mod_rewrite
RewriteEngine on
RewriteRule ^foo/(.*) /bar/$1 [L,R=301]

Tenga en cuenta que mod_alias y mod_rewrite tienen diferentes requisitos para sus patrones de expresión regular. mod_alias siempre requiere que la ruta URL completa. Pero con mod_rewrite que depende de si se utiliza en un archivo .htaccess o en la sección de configuración del servidor anfitrión / virtual. En un archivo .htaccess, tiene que escribir el patrón sin el prefijo de ruta por directorio (en el caso de la raíz del documento simplemente /, en caso de /quux/ es /quux/).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top