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
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
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.
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
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.
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
@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.
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
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-urlVerifica 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.
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
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.
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
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.
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