Htaccess para redireccionar de los no existentes subpáginas

0

Pregunta

Para un sitio web que acabo de relanzado, me gustaría un htaccess redirigir la captura de todos los no-existente subpáginas bajo /blog/ apuntar a /blog/ y no un 404 (así /blog/old-page/ simplemente redirigir a /blog/). Es importante, sin embargo, que la todavía existente subpáginas (tales como /blog/new-page/) no se redirigen. También es mejor si este puede estar en la raíz htaccess (no en la subcarpeta). Me siento como que he intentado de todo, pero no puede encontrar una solución para esto sin necesidad de hacer redirecciones para cada edad subpágina (hay >100)! Espero que alguien pueda ayudar.

.htaccess
2021-11-21 15:38:40
1

Mejor respuesta

2

Si tus viejos Url de la página fueron de la forma /blog/<old-page>/ y ha asignado previamente a directorios físicos (de los cuales un DirectoryIndex el documento fue servido), entonces usted puede hacer algo como lo siguiente usando mod_rewrite en la parte superior de su raíz .htaccess archivo:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(blog/)[^/]+/$ /$1 [R=301,L]

$1 en la sustitución de la cadena es una referencia inversa para el primer grupo de captura en el RewriteRule patrón, es decir,. "/ blog". Esto simplemente guarda la repetición.

A un lado, Sólo para repetir la preocupación expresada en los comentarios. Con lo que respecta a SEO y a los usuarios, este es probablemente peor que un 404 personalizado de respuesta que explica la ausencia de la página(s). Los motores de búsqueda es probable que vea esto (a muchos a una redirección) como un soft-404 de todos modos y los usuarios son más propensos a ser sólo "confundido" (y de rebote) cuando ven un contenido diferente a lo que se esperaba. Realmente no hay sustituto para el "viejo" al "nuevo" (uno a uno) los redireccionamientos 301.

2021-11-25 11:06:08

En otros idiomas

Esta página está en otros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Slovenský
..................................................................................................................