Test Foro de elhacker.net SMF 2.1

Programación => Desarrollo Web => PHP => Mensaje iniciado por: powertcp en 17 Enero 2012, 13:07 PM

Título: Googlebot me da error 404
Publicado por: powertcp en 17 Enero 2012, 13:07 PM
Hola:

He cambiado mi htaccess para hacer las url mas amigables de la siguiente forma


RewriteEngine On
RewriteRule ^([a-zA-Z0-9-]*)/([0-9]+)\.html(.*)$  /pueblos.php?pueblo=$1&id=$2 [L]
RewriteRule ^p/([a-zA-Z0-9-]*)/([0-9]+)\.html$  punto.php?nombre=$1&id=$2 [L]
RewriteRule ^f/([a-zA-Z0-9-]*)/([0-9]+)\.html$  fiesta.php?nombre=$1&id=$2 [L]
RewriteRule ^comarca/([a-zA-Z-]*)/([0-9]+)\.html$  ComarcasValencia.php?nombre=$1&id=$2 [L]


Las redirecciones me funcionan bien el problema que tengo es que en las herramientas de webmaster googlebot me detecta las paginas como error 404, y las paginas funcionan correctamente. Tambien me he dado cuenta que en ultimo enlaze que adjunto en la siguiente lista facebook tambien dice que no encuentra la pagina

Un ejemplo serian las siguientes paginas (Quitar espacios en blanco en las w)
Citar
w w w .valenciaclick.es/Gandia/112.html
w w w .valenciaclick.es/f/Fallas/11.html
w w w .valenciaclick.es/comarca/Els-Serrans/3.html

Agradeceria cualquier ayuda, llevo 4 dias intentando solucionar esto y me he quedado sin ideas.

Gracias, por leerme
Título: Re: Googlebot me da error 404
Publicado por: [u]nsigned en 17 Enero 2012, 19:08 PM
Lo que creo que pasa es que tu mod_rewrite no esta direccionando correctamente, o posiblemente no tenes bine configurados los Mime-Types de Apache. Por ejemplo si damos un URL en formato query-string:

http://valenciaclick.es/pueblos?pueblo=gandia&id=112 es resultado de GoogleBot es un error 404.

Pero si agregamos la extenion '.php' de esta forma:
http://valenciaclick.es/pueblos.php?pueblo=gandia&id=112 obtenemos esto:

CitarField                      Value
HTTP CODE      =      HTTP/1.1 301 Moved Permanently
Date               =      Tue, 17 Jan 2012 18:00:49 GMT
Server            =      No
X-Powered-By      =      PHP/5.1.6
location            =      http://www.valenciaclick.es/gandia/112.html
Content-Length   =      0
Connection         =      close
Content-Type      =      text/html

Aclaro que mi memoria sobre Apache y .htacces no es la mejor (xD) pero proba agrgeando esta linea:

AddType application/x-httpd-php .html

Asi le indicamos a Apache que procese los archvos .html como PHP. El problema es que si a tu servidor no se le indica implicitamente la extension .php no lo procesara como tal, y aveces cuesta solucionar esto en un host compratido donde no tenemos acceso al httpd.conf.

Pero el problema va por ese lado.

Un saludo
Título: Re: Googlebot me da error 404
Publicado por: powertcp en 18 Enero 2012, 11:43 AM
Muchisimas gracias por la idea, pero desgraciadamente no ha funcionado, me pondre en contacto con mi proveedor de hosting para ver si me pueden ayudar.

Si encuentro alguna solucion la posteo aquí.

Lo que no termino de entender es porque algunas funcionan y otras no, ejemplo:

Si que funcionan (Quitar espacios en blanco w):
w w w .valenciaclick.es/Villar-del-Arzobispo/56.html
w w w .valenciaclick.es/Tavernes-de-la-Valldigna/1.html

No funcionan:
w w w .valenciaclick.es/Gandia/112.html
w w w .valenciaclick.es/LLiria/66.html
w w w .valenciaclick.es/Rotova/15.html

Saludos
Título: Re: Googlebot me da error 404
Publicado por: powertcp en 19 Enero 2012, 17:23 PM
Estoy empezando a solucionar el problema, pero si antes no entendia nada ahora lo entiendo menos y estoy pensando en irme de voluntario a un psiquiatrico para que me internen.

Al ver que unas urls funcionaban y otras no, me he puesto a hacer pruebas y despues de muchas pruebas me he quedado asombrado al ver que me iban bien las paginas.

El codigo es el siguiente


require("AtxDir/Xiliar/Datos.php");

$identificador= $_GET['id'];

$mi_consulta=new conexion();

$mi_consulta->consulta=$sql;

$mi_consulta->conectar();
$mi_consulta->ejecutar_consulta();

//Se recoge en un array asociativo el resultado de la consulta
$lhtResult=$mi_consulta->result_array_asociativo();

$NombrePueblo="Tavernes de la Valldigna";//trim($lhtResult[0]["Nombre"]);
$NomPueblo=trim($lhtResult[0]["Nombre"]);
$idComarca=trim($lhtResult[0]["IdComarca"]);

$title=$NomPueblo;

$description="Conoce los mejores rincones de " . $NomPueblo . ", te damos una detallada informacion de la ciudad de Valencia y sus pueblos";

$keywords=$NomPueblo . "," . $NomPueblo . ",Fiestas " . $NomPueblo . ",Museo en "
. $NomPueblo . "," . $NombrePueblo . ",Ciudad de las Artes y las Ciencias, Fiestas de
" . $NombrePueblo .", Conciertos en " . $NombrePueblo . ", Teatros de " . $NombrePueblo . ",Catedral de " . $NombrePueblo . ",Museo en " . $NombrePueblo .
",Hoteles en " . $NombrePueblo . ",Hoteles,Donde dormir en " . $NombrePueblo ;


Para solucionarlo me he creado otra variable $NomPueblo para asignar los datos del pueblo y a la variable $NombrePueblo le pongo "Tavernes de la Valldigna" por defecto.

Pero asi y todo el error se produce en alguno de los siguientes casos:

1º Si a la variable $NombrePueblo le asigno otro valor

2º Si a la variable $keywords le quito alguna vez $NombrePueblo

3º Si en el head de mi pagina le quito el keywords

Soy consciente que lo que explico tiene poco sentido al menos para mi  y como decia al principio creo que he perdido el norte pero ahora las paginas de los pueblos que googlebot no reconocia si que las reconoce y no da el error 404.

Agradeceria encarecidamente que alguien me pudiese decir el porque de esto.

Gracias