Problema con la redirección de una carpeta con mod_alias
-
21-09-2019 - |
Pregunta
Otra cuestión a raíz de este hilo . El artículo único resto que no puedo resolver es que hay un listado para una carpeta ahora inexistente '/ equipo /', pero si añado esto en mi archivo .htaccess, se rompe todas las demás entradas .htaccess para los archivos de esa carpeta, es decir,
redirect 301 /team/ /team.html
redirect 301 /team/joe_bloggs.htm /team.html
redirect 301 /team/joe_bloggs.html /team.html
redirect 301 /team/bill_smith.htm /team.html
redirect 301 /team/bill_smith.html /team.html
Si a continuación, intenta visitar /team/joe_bloggs.htm, me lleva a
/team.html/joe_bloggs.htm
Si puedo solucionar este problema, puede ayudar a entender cómo resolver mi pregunta original y reducir la enorme lista de páginas de redirección en mi archivo .htaccess, por lo que cualquier ayuda agradecido recibió.
Solución
Es necesario cambiar el orden, y poner "redirect 301 /team/ /team.html
" al final.
Se lee una línea a otra y si encuentra algo que encaja, lo reemplaza.
Por otra parte, creo que es necesario para aprender a sumar, y los personajes ^ $. ^ Significa, la expresión debe comenzar, y $ significa la expresión debe terminar.
Por lo tanto, significa ^/team/$
, debe ser exactamente / equipo / y no lo puedo /team/joe_bloggs.htm
partido
Otros consejos
El Redirect
Directiva trabaja en prefijos de ruta. Y en este caso el prefijo de ruta utiliza en sus primera directiva partidos (/team/
) y el resto de la ruta se añade a la nueva ruta URL.
[...] cualquier solicitud que comienza con
URL-Path
devolverá una solicitud de redirección al cliente en la ubicación del objetivoURL
. información de la ruta adicional más allá de la emparejadoURL-Path
se añadirá a la dianaURL
.
Trate RedirectMatch
lugar:
RedirectMatch 301 ^/team/ /team.html