martedì 9 giugno 2009

Abilitare modulo mod_rewrite su Apache

Ho installato il CMS Drupal per testarlo in locale ed ho avuto bisogno di attivare il modulo Apache mod_rewrite per poter usufruire delle URL semplificate generate dal modulo di Drupal Pathauto. La cosa sarà incomprensibile per chi non conosce questo cms, ma non è il momento per entrare nel dettaglio. In ogni modo la stessa necessità si presenta anche con altre applicazioni web (cms, gallerie, forum) che utilizzano mod_rewrite per gestire URL semplificate (dette a volte anche search engine friendly o SEF).

Il fatto è che mod_rewrite non è attivato al momento dell'installazione di Apache su Ubuntu; l'attivazione è comunque una procedura molto semplice che riporto di seguito.

1) Da terminale digito

sudo a2enmod rewrite

2) Modifico poi la configurazione del Virtual Host. Questo dipende dalla configurazione del mio ambiente di sviluppo locale dove ho creato un Virtual Host ('test') che utilizza come Document Root una cartella nella mia home (vedi questo post).

sudo gedit /etc/apache2/sites-available/test

Nella parte del file che segue sulle due righe che contengono AllowOverride None va modificato None in All

<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /home/nome_utente/public_html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

nome_utente è il mio nome utente su Ubuntu. Se avessi voluto modificare la configurazione del sito predefinito (quello con Document Root '/var/www') il comando avrebbe dovuto essere 'sudo gedit /etc/apache2/sites-available/default'.

3) Come ultimo passo riavvio Apache con

sudo /etc/init.d/apache2 restart

Nessun commento: