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

Problema con redireccionamiento

Estas en el tema de Problema con redireccionamiento en el foro de Apache en Foros del Web. Hola a todos, Estoy configurando el Mod_rewrite para poner urls amigables y el cambio de urls me funciona bien pero luego quiero redireccionar las urls ...
  #1 (permalink)  
Antiguo 28/03/2007, 06:52
 
Fecha de Ingreso: noviembre-2005
Mensajes: 182
Antigüedad: 18 años, 5 meses
Puntos: 4
Problema con redireccionamiento

Hola a todos,

Estoy configurando el Mod_rewrite para poner urls amigables y el cambio de urls me funciona bien pero luego quiero redireccionar las urls antiguas a las nuevas y no hay manera, os pego el código a ver si me podéis echar una mano:

Código PHP:
Options +FollowSymLinks
RewriteEngine on

RewriteRule 
^categoria/cat/(.*)$ categoria/index.php?cat=$(Hasta aquí todo bien)

RewriteRule ^categoria/index.php?cat=(.*)$ http://www.dominio.com/categoria/cat/$1 [R=301,L] Esta última línea es la que no funciona, no hace nada 
Un Saludo
  #2 (permalink)  
Antiguo 28/03/2007, 12:52
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 22 años, 2 meses
Puntos: 55
Re: Problema con redireccionamiento

No entiendo el porqué de esa segunda línea, de hecho no debería existir Las url del tipo www.dominio.com/categoria/cat/algo las tienes que poner tú en el código fuente de la web, no en el .htaccess

Este simplemente las transforma a www.dominio.com/categoria/index.php?cat=algo (pero no lo hace al revés)
__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.
  #3 (permalink)  
Antiguo 28/03/2007, 18:02
 
Fecha de Ingreso: noviembre-2005
Mensajes: 182
Antigüedad: 18 años, 5 meses
Puntos: 4
Re: Problema con redireccionamiento

Hola Ferny,

La segunda linea es o debería ser una redirección 301 para redirigir las urls antiguas a las nuevas, es decir, google tiene indexadas todas las urls antiguas y se trata de redireccionar todas las urls antiguas a las nuevas para que no lo pueda considerar como páginas duplicadas, yo efectivamente en el código debo cambiar los enlaces a las nuevas urls.

No se si me he explicado bien.
  #4 (permalink)  
Antiguo 29/03/2007, 05:58
Avatar de ferny
Il capo della mafia
 
Fecha de Ingreso: febrero-2002
Ubicación: Al final del cable
Mensajes: 10.080
Antigüedad: 22 años, 2 meses
Puntos: 55
Re: Problema con redireccionamiento

Pero es que eso, si funcionara, crearía un bucle infinito... la segunda te lleva a la primera, y la primera a la segunda. Aparte, me parece que todo lo que va a partir de la ? en la segunda regla, el rewrite no lo recibe (hice pruebas hace tiempo con contenido dinámico y no llegué a hacerlo funcionar, y llegué a esa conclusión)

Tú deja sólo la primera, que la próxima vez que google rastree tu web actualizará los enlaces. Puede tardarte unas semanas, pero lo hará.

__________________
www.mundodivx.com || www.mundodivx.org

Pon tu mano en un horno caliente durante un minuto y te parecerá una hora.
Siéntate junto a una chica preciosa durante una hora y te parecerá un minuto.
Eso es la relatividad.
  #5 (permalink)  
Antiguo 05/04/2007, 23:02
 
Fecha de Ingreso: abril-2007
Mensajes: 17
Antigüedad: 17 años
Puntos: 0
Re: Problema con redireccionamiento

Solo necesitas esto:

Código:
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^categoria/cat/(.*)$ categoria/index.php?cat=$1 [R=301,L]
La ultima linea esta de mas y solo te crea un loop infinito. Con esta linea especificas que el Redirect es permanente. Si google tiene indexada una pagina "index.php?cat=XXX" y ahora la ve con "categoria/cat/XXX", al ver el codigo 301, entendera que ahora el URL actual es "categoria/cat/XXX".

Y en todo caso, si quieres hacer redirecciones que pueden terminar en loops infinitos, debes usar un RewriteCond antes donde prevengas esa posibilidad.
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 15:42.