Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/12/2009, 01:22
rorrios
 
Fecha de Ingreso: diciembre-2009
Mensajes: 7
Antigüedad: 14 años, 5 meses
Puntos: 0
Error de redireccionamiento

Hola!

envío este mensaje para ver si alguien me puede ayudar. He estado trabajando en el paso a url semántica; una vez hechos los cambios, subí el sitemap a mi servidor, pero google me indica errores de rastreo con mis urls "no semánticas":

http://wwwbasketpedyacom/Acc002InfJug.php?idjug=10495
Error de redireccionamiento 07/12/2009

Si acceso a la página, me envía correctamente a la url semántica; soy bastante novato y la verdad es que no entiendo la causa del problema que me está denunciando.

El esquema del código de Acc002InfJug.php es el siguiente::

<?php
//Iniciamos o continuamos la sesión encargada de evitar el bucle infinito
session_name("url_amigable");
session_start(); //Almacenamos datos del server, script y variables (pasadas por GET)
$Server=$_SERVER['SERVER_NAME'];
$Script=$_SERVER['PHP_SELF'];
$Variables=$_SERVER['QUERY_STRING']; //Verificando si tiene variables por GET
//y no se han pasado datos mediante un form por POST, ya que al redireccionar un post puede ocasionar errores.
//también verificamos que la variable de sesión ‘Listo’, sea diferente a 1, esto nos eviara un bucle infinito.
if(!empty($Variables) & $_SERVER['REQUEST_METHOD']=='GET' && $_SESSION['Listo']!=1){
//Si tiene variables pasadas por GET se procede a hacer el cambio.
//1. Agrupando $Variables por “variable=valor" en el array $Variable.
//echo "1:".$Variables;
$Variable=explode("&",$Variables);
... código que calcula $semantic y $idjug...
$URL_AMIGABLE="http://wwwbasketpedyacom/player/".$semantic.'/'.$idjug;
//5. Colocando la variable de sesión ‘Listo’ a 1 para evitar el bucle infinito al redireccionar la web.
$_SESSION['Listo']=1;
//6. Redireccionando a la url amigable
header("HTTP/1.1 301 Moved Permanently");
header("Location: $URL_AMIGABLE");
//7. Exit hará que culmine hasta este punto el script, si no estuviera ‘exit’el script continuaría ejecutándose y llegaría hasta el final del mismo, es decir,
// a la parte donde colocamos a la variable de sesión ‘Listo’ en cero, originándose, entonces un bucle infinito.
exit;

}
$_URL_BASE="http://wwwbasketpedyacom";
?>
<html>
<head>
<title>...título...</title>
<base href = "<? echo $_URL_BASE; ?>" target="_top" />
<LINK REL="stylesheet" TYPE="text/css" HREF="estilo_v2.css">
<LINK rel="canonical" href="http://wwwbasketpedyacom/player/<?php echo ($row_cab["semantic"].'/'.$idjug); ?>"> --Construye la url semántica como canonical
<?php echo("<META NAME=\"Description\" CONTENT=\"".$row_cab["Jugador"]." player career, stats, profile, titles, awards, biography at basketpedyacom\">"); ?>
</head>
<body>
...contenido...
</body>
</html>
<?php
//Limpia el posible bucle, es decir, se puede volver a hacer el envío. server=wwwbasketpedyacom script=/amigable.php var=hola=2 dir= amig= base=http://wwwbasketpedyacom/pruebas/url_amigable/index.php

$_SESSION['Listo']=0;
?>


mi fichero .htaccess tiene:

RewriteEngine on
Rewriterule ^player/(.+)/(.+)$ Acc002InfJug.php?idjug=$2
Rewriterule ^player/(.+)-(.+)/(.+)$ Acc002InfJug.php?idjug=$3
Rewriterule ^player/(.+)-(.+)-(.+)/(.+)$ Acc002InfJug.php?idjug=$4
Rewriterule ^player/(.+)-(.+)-(.+)-(.+)/(.+)$ Acc002InfJug.php?idjug=$5
Rewriterule ^player/(.+)-(.+)-(.+)-(.+)-(.+)/(.+)$ Acc002InfJug.php?idjug=$6
Rewriterule ^player/(.+)-(.+)-(.+)-(.+)-(.+)-(.+)/(.+)$ Acc002InfJug.php?idjug=$7

Les envío este mensaje por si, revisando el código, para ustedes el error fuera muy evidente. Muchísimas gracias