Redirect
coincide con los prefijos de ruta. La siguiente Redirect
partidos cualquier camino que es el prefijo (segmento de trazado wise) se /here
y lo anexa a la nueva URI:
Redirect 301 /here http://example.com
Así que cualquier solicitud que es ruta comienza con /here
será redirigido a http://example.com
Wile añade los siguientes sufijos camino de /here
a http://example.com
.
En contraste con eso, RewriteRule
funciona con expresiones regulares. En este caso, el siguiente RewriteRule
coincidirá con cualquier ruta que contiene here/
:
RewriteRule here/(.*) http://example.com/$1 [R=301,L]
nada después de eso here/
continuación, se anexará a la nueva URL.
Si bien ambas directivas tendrían el mismo efecto al solicitar direcciones URL con las rutas que comienzan con /here
, este último también coincidirá con cualquier solicitud que se acaba de ruta contiene here/
como /not/here/foo
.
Por otra parte, sólo se puede utilizar condiciones adicionales con mod_rewrite:
RewriteCond $0 !=here/stayhere.html
RewriteRule ^here(/.*)?$ http://example.com$0 [L,R=301]
Si usted quiere hacer lo mismo con mod_alias, tendrá que utilizar RedirectMatch
con una expresión regular que coincida con cualquier cosa menos /here/stayhere.html
.
¿Seguro que esto tiene algo que ver con la expresión regular? – Keng
Sí ... idealmachine a continuación dijo que usa expresiones regulares. ¿No es así como todo se iguala? – gravityboy
Y Gumbo dice que usa "expresión regular" – gravityboy