WordPress e i Permalink: mod_rewrite

October 30, 2010 | 2 Minute Read

Apache

Con il nuovo Server a disposizione ho deciso di trasferire il mio blog. Installando wordpress su una mia macchina spero di avereun migliore controllo della situazione, e magari di imparare meglio ad usare questo spettacolare CMS.

Configurando il mio blog mi sono imbattuto in un problema relativo a i permalink.

Per chi non sapessa cosa è un permalink cito Wikipedia:

(contrazione della frase inglese “permanent link”) è un tipo di URL che si riferisce ad una specifica informazione, implementato in modo da non cambiare o almeno da rimanere lo stesso per lunghi periodi di tempo. Il termine è spesso impiegato nell’ambito dei blog per indicare il link ad un determinato post.

WordPress per il funzionamento di questo sistema sfrutta un modulo del serve Apache chiamato mod_rewrite che permette riscrutture dell’URL tramite espressioni regolari.

Abilitare il suddetto modulo su debian è abbastanza semplice.

Come procedere:

Visto che ci interessa caricare il modulo mod_rewrite è giusto prima localizzare il file per fare ciò possiamo lanciare

locate mod_rewrite

E dovremmo ottenere una lista di percorsi. Ciò che interessa noi è il file di libreria .so
Per esempio /usr/lib/apache2/modules/mod_rewrite.so
Se state utilizzando anche voi una Debian lenny molto probabilmente il percordo sarà uguale al mio, altrimenti potrebbe variare un po’.

Nella cartella/etc/apache2/mods-enabled troviamo una serie di file .load. Questi vengono eseguiti dal server apache all’avvio.

Creamo un nuovo file dentro la cartella mods-enabled e chiamiamolo rewrite.load.

Inseriamo quindi dentro la seguente stringa:

LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

A questo punto modifichiamo il file /etc/apache2/sites-available/000-default

Sostituendo a:

Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all

quanto segue:


Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all

Salviamo e riavviamo il server apache con:

/etc/init.d/apache2 restart