Avisos
Vaciar todo

Redireccion 301 de una subcarpeta nivel 1 a una subcarpeta nivel2  

 
pepe29
 pepe29
Usuario activo

Buenas,

Tenemos que hacer una redirección para que todas las URLs tipo

www.dominio.com/carpeta1/loquesea/   

sea redirigido a

www.dominio.com/carpeta1/carpeta2/loquesea/

Alguna manera de hacerlo en el htaccess?? Los intento que hago dan todos fallo, y la herramienta de webempresa tampoco es efectiva para esto, ya que como la segunda dirección vuelve a tener la raiz "www.dominio.com/carpeta1/" pues entra en bucle y termina mandando todo a www.dominio.com/carpeta1/carpeta1/carpeta1/carpeta1/carpeta1/carpeta1/carpeta1/carpeta1/carpeta1/carpeta1/carpeta1/carpeta1/loquesea/   

Gracias.

Contenido solo visible a usuarios registrados

Citar
Respondido : 30/01/2024 1:38 am
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Pepe.

Podrias probar con:

Redirect 301 /loquesea www.dominio.com/carpeta1/carpeta2/loquesea/

 

Si no funciona, por favor, adjunta las dos URL paar que podamos revisarlo.

 

Un saludo

ResponderCitar
Respondido : 30/01/2024 9:58 am

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress

pepe29
 pepe29
Usuario activo
Respondido por: @pepesoler

Hola Pepe.

Podrias probar con:

Redirect 301 /loquesea www.dominio.com/carpeta1/carpeta2/loquesea/

 

Si no funciona, por favor, adjunta las dos URL paar que podamos revisarlo.

 

Un saludo

Da error 500.  No funciona.

PD: Cuando digo LOQUESEA, es que hay miles de subpáginas, no es una cadena de texto en particular.

ResponderCitar
Respondido : 30/01/2024 3:19 pm
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Pepe.

Pero puedes indicarnos la URL de una de las páginas que quieres redireccionar ?

La redirección a no ser que la añadieras mal o que esa URL tenga algún problema no tiene porqué dar un 500.

La estructura de una redirección es esta:

Redirect 301 /URL-error-404/  http://www.example.com/URL-destino 

Un Saludo

 

ResponderCitar
Respondido : 30/01/2024 3:30 pm

Cursos Gratuitos WordPress

pepe29
 pepe29
Usuario activo
Respondido por: @pepesoler

Hola Pepe.

Pero puedes indicarnos la URL de una de las páginas que quieres redireccionar ?

La redirección a no ser que la añadieras mal o que esa URL tenga algún problema no tiene porqué dar un 500.

La estructura de una redirección es esta:

Redirect 301 /URL-error-404/  http://www.example.com/URL-destino 

Un Saludo

 

Buenas Pepe, y lo primero, gracias por el interés, pero creo que estás obviando donde está el problema que es que la dirección de destino lleva incluida en la URL la de origen.

El dominio por cuestión de privacidad preferiría no decirlo, pero igualmente desde el soporte de webempresa nos pasaron un par de códigos sin éxito y por eso hemos terminado en el foro.

La idea es que direcciones del tipo:

www.dominio.com/info/esto-es-una-pagina/
www.dominio.com/info/esto-es-otra-pagina/
www.dominio.com/info/esto-es-tercera-pagina/

Pues terminen en 

www.dominio.com/info/es/esto-es-una-pagina/
www.dominio.com/info/es/esto-es-otra-pagina/
www.dominio.com/info/es/esto-es-tercera-pagina/

El problema es que la orden no puede determinarse diciendo que el origen son todas las que tengan www.dominio.com/info/ , ya que entonces a las de destino también se le estaría aplicando porque empiezan igual.

ResponderCitar
Respondido : 30/01/2024 3:40 pm
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Pepe.

Ok pero sigo sin saber cual es el dominio ¿ los dominios estan en Webempresa ?

Te voy a poner un ejemplo paar lo que nuestras:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^info/?(.*)$ www.dominio.com/info/es/$1 [R=301,L]

 

Pero como te digo necesitamos saber el dominio.

 

Un saludo

 

ResponderCitar
Respondido : 30/01/2024 4:18 pm

pepe29
 pepe29
Usuario activo

@pepesoler, el dominio sí está en webempresa, pero el código que comentas tampoco funciona. Ahora no hace bucle, directamente no hace nada.

Este es el htaccess actual:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^info/?(.*)$ www.XXXXXXXXXX.com/info/es/$1 [R=301,L]

</IfModule>

El problema de decir el dominio es que por contrato no puedo decirlo en público, y menos por aquí que queda indexado. Al soporte técnico de webempresa se lo dije pero no supieron como hacerlo, y si hay algun modo de indicarlo por privado, también te lo digo sin problema. Pero sea como fuera, con ese código actualmente no funciona.

Esta publicación ha sido modificada el hace 11 meses 2 veces por pepe29
ResponderCitar
Respondido : 30/01/2024 5:13 pm
Karen Rios
 Karen Rios
Soporte CMS Webempresa Moderator

Hola, 

Puedes probar si con el siguiente código lograse redirecciona lo que necesitas

Redirect 301 /path/to-old-url  http://www.tudominio.com/path/to-new-url 

Verifica algunas otras opciones que se comentan en el siguiente enlace → Contenido solo visible a usuarios registrados

Un Saludo 

ResponderCitar
Respondido : 30/01/2024 5:23 pm

Gestor de Contraseñas - VPN Conexión Segura - Gestor 2FA (Segundo Factor de Autenticación

pepe29
 pepe29
Usuario activo
Respondido por: @karen

Hola, 

Puedes probar si con el siguiente código lograse redirecciona lo que necesitas

Redirect 301 /path/to-old-url  http://www.tudominio.com/path/to-new-url 

Verifica algunas otras opciones que se comentan en el siguiente enlace → Contenido solo visible a usuarios registrados

Un Saludo 

Gracias Karen, pero esa opción no es viable porque hablamos de miles de URLs por lo que debe ser algún comando que valga para todas ellas.
Y en el enlace que mandas, tampoco veo la opción de lo que necesito.

Aclaro que sé como funcionan las redirecciones, y que antes de preguntar aqui ya eché mucho tiempo para intentar solucionarlo.

El problema insisto en que está en el hecho de redirigir a un propio subdirectorio del directorio origen. Ahí está el problema y lo dificil del caso. Ya no sé si es que es imposible de hacer, pero imagino que con algunos condiciones especiales se debería poder.

ResponderCitar
Respondido : 30/01/2024 5:29 pm
Karen Rios
 Karen Rios
Soporte CMS Webempresa Moderator

Hola, 

Entiendo, en este caso, ya que son redirecciones específicas que necesitas hacer, te recomiendo consultes con nuestro directorio de colaboradores para que te indiquen algunas alternativas adicionales como puedes añadirlo, por ahora no veo alguna alternativa adicional a lo que hemos tocado previamente que entiendo no funciona para tu sitio web. 

Un Saludo 

ResponderCitar
Respondido : 30/01/2024 5:37 pm

wpdoctor-revisa-la-salud-de-tu-wordpress

pepe29
 pepe29
Usuario activo

No son direcciones específicas, es enlazar todas (miles) las direcciones que están en

www.dominio.com/carpeta1/nombredepagina/ 

a

www.dominio.com/carpeta1/carpeta2/nombredepagina/

Una lástima que desde el soporte de webempresa no hayan sabido, y desde el foro tampoco. Gracias por el intento.

ResponderCitar
Respondido : 30/01/2024 6:09 pm
Karen Rios
 Karen Rios
Soporte CMS Webempresa Moderator

Hola, 

Puedes probar con el siguiente condigo y ver si funciona como necesitas:

RewriteEngine On
RewriteRule ^carpeta1/(.*)$ /carpeta1/carpeta2/$1 [R=301,L]

Revisa si con ello puedes tomar cualquier URL que comience con www.dominio.com/carpeta1/ y la redirigirá a www.dominio.com/carpeta1/carpeta2

Como te comento es algo muy especial lo que necesitas, pero puedes probar y ver si con ello logras redirigir las URL. 

Un Saludo 

 
ResponderCitar
Respondido : 30/01/2024 7:55 pm

optimiza-automaticamente-todas-las-imagenes-de-tu-wordpress

pepe29
 pepe29
Usuario activo
Respondido por: @karen

Hola, 

Puedes probar con el siguiente condigo y ver si funciona como necesitas:

RewriteEngine On
RewriteRule ^carpeta1/(.*)$ /carpeta1/carpeta2/$1 [R=301,L]

Revisa si con ello puedes tomar cualquier URL que comience con www.dominio.com/carpeta1/ y la redirigirá a www.dominio.com/carpeta1/carpeta2

Como te comento es algo muy especial lo que necesitas, pero puedes probar y ver si con ello logras redirigir las URL. 

Un Saludo 

 

Esa función no vale.

La orden 

RewriteRule ^carpeta1/(.*)$ /carpeta1/carpeta2/$1 [R=301,L]

hace entrar en bucle. Ya que cuando está mandando a la dirección de destino, se vuelve a cumplir la condición      ^carpeta1/(.*)$

El resultado es que se termina en /carpeta1/carpeta1/carpeta1/carpeta1/carpeta1/carpeta1/carpeta1/carpeta1/.....

Si a alguien se le ocurre como poner los condiciones justos, maravilloso, pero ya digo que los códigos "típicos" de redirección no funcionan para este caso, esos ya los he probado. Esta prueba es para alguien que de verdad sepa de programación y se le ocurra alguna combinación especial.

ResponderCitar
Respondido : 31/01/2024 2:02 pm
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Pepe.

Prueba con lo siguiente:

<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteBase /
   # Redirección de segundo nivel
    RewriteRule ^info/pagina/$ /es/info/pagina/ [R=301,L]

</IfModule>

 

Por supuesto tendras que adaptarlo a lo que necesites.

Este código asume que la parte " /info/pagina/ " es la parte que se quiere redirigir a " /es/info/pagina/ "

Tienes que tener en cuenta que las redirecciones las tienes que añadir al principio del archivo htaccess

 

Un Saludo

ResponderCitar
Respondido : 31/01/2024 3:21 pm

Cursos Gratuitos WordPress