86400 – Blog de viajes

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]

Salir de la versión móvil