Abilitare l'interpretazione file .htaccess per Apache su GNU/Linux

Giovanni Canella

01/01/2013

6245

Dopo aver visto come installare un web server sul nostro computer, grazie ad Apahce, PHP, e MySQL, vediamo come abilitare l'interpretazione del file ".htaccess".

Questo file, residente solitamente nella root del sito, viene utilizzato per sovrascrivere (in inglese "override") la configurazione base del server. Funzionalità che risulta utile per modifiche "on the fly", quali la restrizione all'accesso ad alcune cartelle, con l'inserimento di username e password, il rewrite degli url, il blocco di indirizzi IP, utile contro bot o per limitare l'accesso ai crawler.

Normalmente Apache all’avvio legge il suo file di configurazione (httpd.conf), regolando così a seconda di quest'ultimo, il comportamento che tenere alla richiesta HTTP di un client. Mentre attivata l'interpretazione del file .htaccess, prima di mandare una risposta, controlla se nella cartella in cui è presente il file visualizzato (es. index.html), o in quelle superiori, è presente quest'ultimo file. Se la ricerca è affermativa lo legge modificando "al volo" la configurazione di Apache.

Innanzitutto diamo otteniamo i permessi di root, da terminale, digitando:

sudo -i

Successivamente abilitiamo il mod_rewrite, con

a2enmod rewrite

Questa funziona scriverà il seguente link simbolicoLoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so, nel file /etc/apache2/mods-available/rewrite.load.

Ora dobbiamo dire ad Apache di trovare un eventuale file .htaccess, modificando la sua configurazione base, dove al posto del testo fra parentesi quadre, metterete il nome del sito (vedi la guida su come settare un server web, per maggiori informazioni).

gedit /etc/apache2/sites-enabled/[Nome del sito in questione]

E sostituiamo il seguente testo...

[...]
DocumentRoot /home/giovanni/public_html

         Options FollowSymLinks
         AllowOverride None


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

con...

[...]
	DocumentRoot /home/giovanni/public_html

	Options FollowSymLinks
	AllowOverride None


	Options Indexes FollowSymLinks MultiViews
	AllowOverride all
	Order allow,
	allow from all
[...]

Infine, come dopo ogni modifica al server, riavviamo!

service apache2 restart

Da ora in poi, potremo utilizzare la potenzialità del del file .htaccess!

I più letti

Ti potrebbero interessare