Jueves de 30 Enero de 2003

#

archivos antiguos

Otro post computeril. Esta vez, sobre cambios que hicimos en los archivos y un sistema para evitar que los links al archivo que hab�a en la blog�sfera se rompan.

Como alguno habr� notado, la url de cada post actual es algo parecido a

/blog/2003/01/29/digalo_con_mimica.php
con un directorio por a�o, mes y d�a, y el t�tulo del post como nombre de archivo. De esa forma tenemos todo m�s organizado, mirando la URL uno puede obtener mucha m�s informaci�n y no tenemos problemas si por alg�n movimiento con la base de datos el ID de los posts cambia.


Por otro lado, en el anterior dise�o los links a un post individual eran del estilo

/blog/archives/000892.php
donde 892 es el ID del post.


Esos archivos antiguos quedaron ah�, hu�rfanos, y ten�an que desaparecer. Pero como todos, odiamos los errores 404, as� que implementamos un sistema que hace lo siguiente:


  • Un archivo .htaccess define como ErrorDocument para los errores 404 un script php.
  • el script extrae el ID del post de la URL pedida.
  • consulta a nuestra base MySQL los datos del post con ese ID.
  • procesa el t�tulo del post con una funci�n equivalente al dirify de Movable Type.*
  • arma la URL correspondiente al nuevo sistema de archivo y redirecciona.

De esta manera, al hacer click en un link como que est� arriba, uno termina en la nueva direcci�n de ese post, sin enterarse de todo lo que pas� detr�s de escena.


*: con respecto al dirify, como somos muy impacientes y no pod�amos esperar a la versi�n 2.6 de MT, patcheamos para obtener el nuevo dirify ahora. De esa forma cuando un t�tulo incluye letras acentuadas las mismas son convertidas a la letra sin acentuar, en vez de desaparecer como hasta hoy.


Otras novedades del archivo: para acceder al archivo de un d�a: http://www.elcipresenelpatio.com.ar/blog/2003/01/29/
y de un mes:
http://www.elcipresenelpatio.com.ar/blog/2003/01/


Para lograr esto utilizamos la siguiente configuraci�n de archivo en MT:

<$MTEntryDate format="%Y/%m/%d"$>
/<$MTEntryTitle dirify="1"$>.php
como "Archive File Template" en la configuraci�n del archivo individual.
<$MTEntryDate format="%Y/%m/%d"$>/index.php
como "Archive File Template" en la configuraci�n del archivo diario.
<$MTEntryDate format="%Y/%m"$>/index.php
como "Archive File Template" en la configuraci�n del archivo individual.

0 comentarios


Dej� tu comentario

















este weblog necesita de la buena leche de todos, asi que puntos de vista distintos, pol�micos, atrevidos, obscenos y un largo etc�tera son bienvenidos, no asi comentarios-spam, xen�fobos, ap�crifos y otro largo etc�tera de imbecilidades segun nuestro criterio, esas opiniones son borrados o editadas porque asi es como funciona la cosa, :]


0 trackback
URL para trackback:
http://www.elcipresenelpatio.com.ar/cgi-bin/mt-tb.cgi/330

El siguiente es el listado de post que referencian a este post