"Personalissimo" Blogs e Internet

Recarga de la página por no especificar ruta en CSS

[su_wiloke_sc_rating_chart title="¿Te gusta el artículo? ¡Valóralo!"]0 media basada en 0 votos[/su_wiloke_sc_rating_chart]

[su_wiloke_sc_company_website]Aunque mi trabajo es de desarrollador Web principalmente, no suelo escribir mucho sobre el tema porque no me gusta aburrir mucho a la gente, pero lo que he descubierto esta mañana bien merece la pena para documentarlo porque a mi me ha vuelto loco un buen rato. Quizá es un pequeño bug, o si no es considerado como tal seguro que sabiéndolo de antemano se ahorra bastante tiempo en depuración.

Resulta que en una programación compleja de PHP, bases de datos, sesiones y demás, me ocurría una cosa curiosa y es que la consulta SQL a la base de datos se me repetía dos veces. Después de un rato probando cosas, se me ocurre ver el log del servidor Apache, y resulta que la página se pedía dos veces: una yo mismo desde donde estuviera y otra la propia página que se llamaba así misma.

Después de comprobar que no había ningún «include» de PHP, ningún AJAX que se pidiera a sí mismo y marearme quitando y poniéndo líneas se me ocurre probar quitando una claúsula que había en el que dejé sin querer ahí.

Se trata de style=»background-image:url()»

Como se puede ver es una opción de CSS para cargar una imagen de fondo en ese estilo, en concreto estaba en el BODY pero no importa donde esté. El tema está en que si no se pone nada dentro de los paréntesis, es decir, si no se especifica la ruta de la imagen que quieres cargar en ese estilo, el navegador pide la página entera por defecto, es decir, que si la página que tu cargas donde está todo se llama «index.php», el navegador intenta cargar «index.php» entera, no encuentra ninguna imagen (obviamente) y no da ni error de CSS ni nada.

Eso sí, si la página tiene códigos PHP, lecturas y escrituras en la base de datos, te puedes morir creyendo que el error de duplicidad de acciones está en otro sitio.

Un error que sin duda quería comentaros a los desarrolladores que me leéis y que espero que si a alguien le pasa y busca por Google, pueda ayudarle en algo.

[tags]recarga, página, apache, css, estilos, background, image, url[/tags]

[su_wiloke_sc_related_gallery][/su_wiloke_sc_related_gallery]

Alex

Ciudadano del mundo. Me encanta llevarme mi cámara fotográfica para inmortalizar esencias y experiencias en lugares diferentes, donde la gente vive diferente, pero donde todos disfrutamos cada día de puestas de un mismo Sol.

Vistos recientemente...

Observatorio cumple 20 años traduciendo imagenes de la NASA día a día

El rostro del viaje de McCurry

Los juegos no son un juego… but business!

Memozzle, un gimmasio para las neuronas

Memozzle supera las 50.000 descargas en menos de 3 meses

02 Comments

  1. Pedro

    Hay un error parecido, y q es muy tipico de q te aparecen dos entradas en el log. Consiste en olvidarse de la barra del final de la URL al querer acceder a un directorio. X ej:

    http://loquesea.com/web

    no es lo mismo q:

    http://loquesea.com/web/

    En la primera peticion, el navegador busca el ‘fichero’ web, y en la segunda el index.html, index.php… del ‘directorio’ /web/.

    Al final, funciona bien de ambas formas, xq el navegador x defecto, sino encuentra un fichero, luego lo intenta buscar como directorio. Pero claro, luego ves los logs, y te salen 2 entradas (aparte de q como hace 2 conexiones, tarda un pelin + en conectarse)

    Bueno, no se si viene mucho a cuento, pero como curiosidad… :-)

    22 de enero de 2007
  2. ivan

    hola a mi que me importa eso llo quiero saver como se llama la ruta 1 eso es tan divisl

    14 de marzo de 2007