Mod_Rewrite

mod_rewrite puede hacerte muy facil la vida. Despues de pelear un rato con Feedparser y algunas implementaciones ilegales de ambos lados (mi RSS generado y lo «corto de vista» de Feedparser) decidí cambiar definitivamente el formato de mis URL.

Antiguamente las URL estaban formadas por variables declaradas POST que PHP procesaba de forma estándar. Pero despues de intentar pasarle mas de tres variables, las url se forman algo desordenadas. Ahi es mejor transformar las url en componentes separados por algun string determinado, «/» por ejemplo.

Cuento corto, ahora las URL estan separadas por un «/» en todo momento asemejando directorios cuando en realidad estan siendo leidas por el servidor como variables POST entregadas a PHP.

Bastó un .htaccess conteniendo una regla de reescritura Query String Append:

RewriteEngine On
RewriteBase /news/
RewriteRule ^([^.?/]+)/([0-9]+)$ /index.php?page=news&eid=$2 [QSA]

Como mod_rewrite se encuentra categorizado como un Override FileInfo, de forma que hay que permitir la lectura de estas variables agregando al httpd.conf :

AllowOverride FileInfo

Mas info en documentacion en línea.