Foros del Web » Administración de Sistemas » Apache »

Redireccionar sección a otra con URLs amigables

Estas en el tema de Redireccionar sección a otra con URLs amigables en el foro de Apache en Foros del Web. Hola compañeros. Tengo mi web, y las URL's amigables me funcionan perfectamente. El tema es que quiero que cuando alguien pulse en la sección "Derechos" ...
  #1 (permalink)  
Antiguo 04/03/2014, 02:54
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años
Puntos: 10
Redireccionar sección a otra con URLs amigables

Hola compañeros.

Tengo mi web, y las URL's amigables me funcionan perfectamente.

El tema es que quiero que cuando alguien pulse en la sección "Derechos"
Le redireccione (por HTACCESS) a la sección /derechos/igualdad/sabias-que/

¿De qué manera puedo con HTACCESS hacer dicha redirección?
Me gustaría que fuese genérica, sin tener que indicar el nombre del dominio dentro del HTACCES, para que se ponga donde se ponga, no haya que andar toqueteando url's dentro del propio htaccess

Gracias de antemano.

Saludos.
  #2 (permalink)  
Antiguo 04/03/2014, 03:13
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Redireccionar sección a otra con URLs amigables

Pues con un simple Redirect.

Habría que saber que URL es la "sección derechos" para redirigirla a la nueva.
  #3 (permalink)  
Antiguo 04/03/2014, 03:30
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años
Puntos: 10
Respuesta: Redireccionar sección a otra con URLs amigables

La logica es:

http://www.miweb.com/desarrollo/derechos/

quiero redirigirlo a

http://www.miweb.com/desarrollo/dere...ad/sabias-que/


"un simple redirect"

Código PHP:
redirect 301 /derechoshttp://www.miweb.com/desarrollo/derechos/igualdad/sabias-que/ 
Quiero (por eso pregunto) evitar el uso de http://www.miweb.com/desarrollo/ en el HTACCESS porque sino, luego toca cambiar manualmente cuando se migre a real, o cuando se traslade o use en otro proyecto.

Por eso, lo quiero hacer escalable, independiente.

Reglas independientes al nombre del dominio

He probado con:
Código PHP:
redirect 301 /derechos/ /derechos/igualdad/sabias-que
Y me da un error 500...

Por eso pregunto, para que los gurus como vosotros me orientéis en esto.


Saludos.
  #4 (permalink)  
Antiguo 04/03/2014, 03:53
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Redireccionar sección a otra con URLs amigables

Yo no lo tenía claro (por eso solicité más información), y has sido lo suficientemente explícito como para que te comprenda

En un Redirect/RedirectMatch la sintaxis es: path absoluto y URL completa. Por lo tanto no puedes hacer lo que propones de esa forma, pero existe el módulo rewrite que también sirve para redireccionar...

Código Apache:
Ver original
  1. RewriteEngine On
  2. RewriteRule ^desarrollo/derechos/?$ /desarrollo/derechos/igualdad/sabias-que/ [R=301,L]

  #5 (permalink)  
Antiguo 04/03/2014, 04:22
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años
Puntos: 10
Respuesta: Redireccionar sección a otra con URLs amigables

Hola compy

Decirte que no me funciona.

tal cual me lo has pasado lo he colocado y me salta un 404 (página no encontrada)

La razón es que redirecciona mal.

Me lleva a :

http://midominio.com/var/www/vhosts/...ad/sabias-que/

Algo hay mal...
  #6 (permalink)  
Antiguo 04/03/2014, 04:27
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años
Puntos: 10
Respuesta: Redireccionar sección a otra con URLs amigables

Vale, veo que era algo de caché.

Un error inicial y cacheado en todas las pruebas.

Si que me funciona PERO...

¿Es 100% obligatorio tener que poner /desarrollo/ en la URL de destino?

¿No hay forma de trabajarlo de manera que esto sea transparente, quiero decir, que /desarrollo/ lo coja de la url, sin tener que ESCRIBIRLO yo en el htaccess?
Para mayor escalabilidad e independencia.


Espero comentarios (y de nuevo, GRACIAS por la pronta respuesta y participación.
  #7 (permalink)  
Antiguo 04/03/2014, 04:48
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Redireccionar sección a otra con URLs amigables

Te entiendo... esta técnica se basa en el uso de las back-references, muy útiles por cierto:

Código Apache:
Ver original
  1. RewriteEngine On
  2. RewriteRule ^(.+)/derechos/?$ /$1/derechos/igualdad/sabias-que/ [R=301,L]

  #8 (permalink)  
Antiguo 04/03/2014, 05:43
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años
Puntos: 10
Respuesta: Redireccionar sección a otra con URLs amigables

Compy...

Esta linea, tal cual genera un error 500

Código:
RewriteRule ^(.+)/derechos/?$ /0,73 €/derechos/igualdad/sabias-que/ [R=301,L]
¿Porqué puede ser?
  #9 (permalink)  
Antiguo 04/03/2014, 05:50
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Redireccionar sección a otra con URLs amigables

Pero... eso de /0,73 € lo has añadido tú, el código que pase tal cual funciona porque lo he probado
  #10 (permalink)  
Antiguo 04/03/2014, 05:59
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años
Puntos: 10
Respuesta: Redireccionar sección a otra con URLs amigables

Compy ... viene de tu codigo :)

copio y pego de tu codigo ahora mismo:

Código Apache: Ver original
  1. RewriteEngine On
  2. RewriteRule ^(.+)/derechos/?$ /0,73 €/derechos/igualdad/sabias-que/ [R=301,L]

  #11 (permalink)  
Antiguo 04/03/2014, 06:10
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Redireccionar sección a otra con URLs amigables

WTF!!

Pero a ver... $1 es una variable, osea no 1 dólares que equivalen a 0,72 euros

¿Que complemento estás usando en tu navegador para conversión? Desactívalo.

Última edición por PHPeros; 04/03/2014 a las 06:31
  #12 (permalink)  
Antiguo 04/03/2014, 06:31
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años
Puntos: 10
Respuesta: Redireccionar sección a otra con URLs amigables

Vale compy... ALUCINANTE!!!

si que debo de tener algo en el navegador que hace conversión de unidades... JAJAJAJAJA

Mira que esto ya me pasó buscando hace 1 hora y veía cadenas de htacces con 0,73€ y yo FLIPABA kjajajajajjaajjaja


Dicho esto... lo he probado, y ....me da un 404.. pero claro.. creo que el error es mío, de planteamiento...


a ver... no quiero que INTERNAMENTE se redirija la petición

hacia a
La realidad es que quiero que se haga una redirección REAL (que la URL se cambie)

Y claro.. la pregunta es... ¡esto htaccess puede hacerlo?


Perdona por haberte mareado.. no caí en la cuenta antes.

La pregunta es si con htaccess puedo hacer redirección HTTP con cambio de url


Gracias de nuevo!!!
  #13 (permalink)  
Antiguo 04/03/2014, 06:40
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Redireccionar sección a otra con URLs amigables

Claro, de hecho la bandera [R=301] indica que se va ha hacer una redirección (cambio de URL) de tipo permanente (301).

Si está fallando no tengo idea de por qué...Tal vez no lo hayas copiado bien
  #14 (permalink)  
Antiguo 05/03/2014, 03:41
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años
Puntos: 10
Respuesta: Redireccionar sección a otra con URLs amigables

Pues compañero.. le limpiado mi htaccess y he puesto solo esto que me indicas, bien copiado... y NO me funciona

Te cuento, copio y pego lietalmente lo que tengo ¿ok?


# Regla especial para DERECHOS
Cita:
RewriteRule ^derechos/([A-Za-z0-9-_]+)/?$ /derechos/$1/sabias-que/ [R=301,L]

RewriteRule ^derechos/?$ /derechos/igualdad/sabias-que/ [R=301,L]
Si uso RewriteRule ^(.+)/derechos/ tampoco me funciona.

A ver quién puede darme una ayudita...
  #15 (permalink)  
Antiguo 05/03/2014, 08:08
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años
Puntos: 10
Respuesta: Redireccionar sección a otra con URLs amigables

Bueno compañeros..

Pues finalmente, tras dejarme la cabeza... solo he conseguido hacerlo de la siguiente manera:

Mi URL de trabajo es:
Cita:
# Regla especial para DERECHOS
RewriteRule ^derechos/([A-Za-z0-9-_]+)/?$ /proyecto/derechos/$1/sabias-que/ [R=301,L]
RewriteRule ^derechos/?$ /proyecto/derechos/igualdad/sabias-que/ [R=301,L]
Es la única manera que he conseguido que funcione.

Me "fastidia" tener que usar el "directorio virtual" (/proyecto/) dentro del HTACCESS porque me "tengo que acordar" de quitarlo cuando lo monte en el servidor del cliente.... por eso mi idea de hacerlo más "genérico"

Pero no tengo "webos" a ello.. no lo consigo..


Si hay algún comentario mas, bienvenido sea.
  #16 (permalink)  
Antiguo 05/03/2014, 08:25
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Redireccionar sección a otra con URLs amigables

También puedes usar este tipo de URL relativa, que sube un nivel:

Código Apache:
Ver original
  1. RewriteRule ^derechos/([A-Za-z0-9-_]+)/?$ derechos/$1/sabias-que/ [R=301,L]
  2. RewriteRule ^derechos/?$ derechos/igualdad/sabias-que/ [R=301,L]

Otra cosa es que funcione, claro
  #17 (permalink)  
Antiguo 05/03/2014, 12:25
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años
Puntos: 10
Respuesta: Redireccionar sección a otra con URLs amigables

No funciona compy...

Lo he probado y me redirecciona en URL a esta dirección:

Código PHP:
http://midominio.com/var/www/vhosts/midominio.com/httpdocs/proyecto/derechos/igualdad/sabias-que/ 
¿Alguien sabe porqué puede ser?
  #18 (permalink)  
Antiguo 06/03/2014, 10:33
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 7 meses
Puntos: 578
Respuesta: Redireccionar sección a otra con URLs amigables

Pues va a ser problema de caché como te pasó en los primeros mensajes
  #19 (permalink)  
Antiguo 06/03/2014, 13:12
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años
Puntos: 10
Respuesta: Redireccionar sección a otra con URLs amigables

Hola compy.

No no son temas de caché..

He hecho como 15 pruebas, limpiando caché, desde otros navegadores, etc, etc y en todos ocurre lo mismo...

No se porqué será.

Etiquetas: 301, amigables, android, css, dominio, funcion, htaccess, javascript, jquery, php, redireccionar, seo, url, urls
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:07.