trozo 1:".$trozos_paginacion[1]; $trozos_paginacion2=explode(".html",$trozos_paginacion[1]); //trozos2_0 = la pagina $p = $trozos_paginacion2[0]; //elimina paginacion por urls $uri = preg_replace("/pag.*html/i","",$uri); // falta sacar la x $paginacion = "p=$p"; //echo "
url: $uri
pagina $p"; } //autocompleta si acaba en slash, si no acaba l'afegeix $verifica_slash = substr($uri, -1); if($verifica_slash!="/") $uri .="/"; /////////////// aqui empieza a buscar $query = "select uri_destino, tipus from migracion where uri_origen='$uri' "; //echo "

$query

"; $result = mysql_db_query($db, $query); if(mysql_num_rows($result) == 0) { //echo "
no la encuentra
"; $trozos_uri = explode('/',$uri); $count = count($trozos_uri); $penultim=$count-2; //si no ho trova //1 treiem el valor id $ultimo_trozo = $trozos_uri[$penultim]; $reultimo_trozo = explode('_',$ultimo_trozo); $clave = $reultimo_trozo[1]; //2 treiem el idioma $lang = $trozos_uri[1]; //echo "
elementos en uri: $count
ultimo trozo: $ultimo_trozo
lang: $lang
clave: $clave
"; //3. query per si existeix $query2 = "select uri_destino, tipus from migracion where uri_origen like '/".$lang."%' and uri_origen like '%".$clave."%' "; //echo $query2; $result2 = mysql_db_query($db, $query2) or die(mysql_error()); if(mysql_num_rows($result2)=="0") { $uri_destino="http://www.decantalo.com/".$lang."/"; $tipus_r="error"; //echo "
no la encuentra"; } else { $row2 = mysql_fetch_array($result2); $uri_destino=$row2[0]; $tipus_r="arreglada"; //echo "
la encuentra"; } //else a la home sense idioma //log $query_log= "insert into migracion_log (uri_origen,uri_destino,fecha,tipus) values ('$uri','$uri_destino',NOW(),'$tipus_r')"; $result_log = mysql_db_query($db, $query_log) or die(mysql_error()." : ".$query_log); //validacion de variebles en url: campaña, afiliados ... //echo "
antes del if:
query_string: ".$_SERVER["QUERY_STRING"]."
p: $p
"; if($_SERVER["QUERY_STRING"]!="") { //echo "
tiene variables"; $uri_destino.="?".$_SERVER["QUERY_STRING"]; //echo "
uri destino: $uri_destino"; } if($p>0) { //echo "
tiene paginacion"; if($_SERVER["QUERY_STRING"]!="") { //echo "
paginacion y mas variables"; $uri_destino.="&p=".$p; } else { //echo "
solo paginacion"; $uri_destino.="?p=".$p; } } //verificar en la siginete linea //echo "
uri de destino: $uri_destino "; //redireccion home header("HTTP/1.1 301 Moved Permanently"); header ("Location: $uri_destino"); exit(); } else { $row = mysql_fetch_array($result); $uri_destino=$row[0]; //echo "
la encuentra
"; //$uri_destino.="?lapilla=1"; //log $query_log= "insert into migracion_log (uri_origen,uri_destino,fecha,tipus) values ('$uri','$uri_destino',NOW(),'ok')"; //echo $query_log; $result_log = mysql_db_query($db, $query_log) or die(mysql_error()." : ".$query_log); //validacion de variebles en url: campaña, afiliados ... if($_SERVER["QUERY_STRING"]!="") $uri_destino.="?".$_SERVER["QUERY_STRING"]; //en este caso no hay paginacion, es un error y se tira a la home, se les pueden aguantar las variables //redireccion header("HTTP/1.1 301 Moved Permanently"); header ("Location: $uri_destino"); exit(); }