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.html
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.html
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://elcipresenelpatio.com.ar/blog/2003/01/29/
y de un mes:
http://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"$>.html
como "Archive File Template" en la configuración del archivo individual.
<$MTEntryDate format="%Y/%m/%d"$>/
como "Archive File Template" en la configuración del archivo diario.
<$MTEntryDate format="%Y/%m"$>/
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://elcipresenelpatio.com.ar/cgi-bin/mt-tb.cgi/330

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