Tengo algunos problemas para encontrar algo que debería ser simple. Quiero 301 redirigir todo en un directorio a un único archivo en una nueva ubicación.Redirigir 301 de un directorio a un solo archivo
En mi .htaccess
, ya he intentado lo siguiente ...
Redirect 301 /myDir/ http://www.mydomain.com/myNewDir/index.html
y esto ...
Redirect 301 /myDir/ http://www.mydomain.com/myNewDir/
y esto ...
Redirect 301 /myDir http://www.mydomain.com/myNewDir
El problema es que cada uno de ellos simplemente está mapeando cada archivo dentro de /myDir/
y añádalo al final de la URL de destino.
Después de buscar en Google, vi algo que dijo que hacer esto ...
Redirect 301 ^/myDir(.*) http://www.mydomain.com/myNewDir
Pero eso simplemente hace lo mismo ... es la cartografía de la ubicación del archivo existente al final de la URL.
Era fácil encontrar un montón de ".htaccess redirigir" tutoriales en línea, pero que parecen mostrar solamente los ejemplos obvios como 'asignación de archivos uno a uno' o 'mapeo directorio de uno-a-uno'. Estos tutoriales también parecen descuidar la explicación de varias directivas de archivos relevantes y cómo usarlas correctamente.
Esta cuenta de alojamiento particular es basura y también tiene instaladas extensiones de FrontPage. Mod-rewrite falla (rompe todo el sitio) pero las líneas Redirect 301
funcionan bien. Por lo tanto, hasta que pueda mover este nuevo sitio (que no sea de FrontPage) a una cuenta de hosting más robusta, tendré que seguir con el Redirect 301
one-liner.
¿Cómo puedo utilizar simplemente un Redirect 301
a redirigir todo/myDir/
dentro de la misma fila india situada en /myNewDir/index.html
? (Prefiero usar solo /myNewDir/
si es posible). Explique, en detalle, las directivas de archivos utilizadas en su solución.
ACTUALIZACIÓN:
respuesta previamente aceptada no está funcionando.
Ejemplo:
RedirectMatch 301 /myDir1/(.*) http://mydomain.org/newpath/myDir1/index.html
... está dando una "Demasiados redireccionamientos ocurrió al intentar abrir" error.
Esto se debe a /myDir1/(.*)
está haciendo juego en cualquier lugar dentro de la cadena por lo que si la URL de destino contiene /myDir1/
en cualquier lugar, no sólo la raíz, se obtendrá redirigida en un bucle desagradable.
Vea mi propia respuesta publicada para la solución correcta.
Gracias. Esto empezaba a volverme loco. Esto funciona para dirigir los contenidos de un directorio completo (cada página dentro de) a una página determinada. – Tom
También vale la pena mencionar que si anteriormente tenía un redireccionamiento 301 que se dirigía al lugar equivocado (al agregar la página a la URL de destino), es posible que necesite borrar el caché de su navegador antes de que recoja la nueva regla de .htaccess. – Russ