archivos antiguos
Como alguno habrá notado, la url de cada post actual es algo parecido a
/blog/2003/01/29/digalo_con_mimica.htmlcon 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.htmldonde 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"$>.htmlcomo "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.