Gen 23 2006

Wordpress gestione particolare mod_rewrite

Ciao a tutti,
dopo i due articoli scritti su mod_rewrite di apache vorrei trattare di come molti applicativi, tra cui wordpress (il sistema di blogging che utilizzo per questo blog) gestiscono il mod_rewriting in modo pių stretto tra apache e php.

Fondamentalmente anzichč applicare regole specifiche come quelle trattate nei precedenti articoli es:
RewriteEngine On
….
….
RewriteRule ^
([^/]+)/servizi/service.php?lang=$1 [L]

Utilizzano queste uniche regole:

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php

In pratica le regole che Wordpress fa inserire nel file .htaccess provvedono a fare un check se il file o la directory richiesta esiste, in tal caso apache richiede la risorsa reale e presente fisicamente, altrimenti redireziona alla index.php di wordpress.

Questa pagina di fatto si occupa, in base a come č settato l’applicativo da admin (c’č un wizard molto comodo che vi allego, forse un po’ piccola… :-D)

Permalink

In pratica si imposta come Wordpress deve trattare e gestire gli URL. A quel punto č l’applicativo stesso che si occupa di fare il parsing della variabile $_SERVER['REQUEST_URI'] (almeno credo che usino questa, al massimo ne utilizzano una simile :-D) e di generare on the fly i link corretti.

Questo tipo di gestione da realizzare č molto pių flessibile ma anche pių complicata in quanto richiede un notevole sforzo di parsing degli indirizzi. Soluzione MOLTO valida per applicativi completi e liberamente scaricabili come Wordpress ma poco utile per siti web custom.

Ciao a tutti,
Max
info[AT]massimo-caselli[DOT]com

One Response to “Wordpress gestione particolare mod_rewrite”

  1. [...] http://www.massimo-caselli.com/2006/01/23/wordpress-gestione-mod_rewrite/ [...]

Trackback URI | Comments RSS

Leave a Reply