Il file di configurazione predefinito per i file serviti dall'installazione di Apache è /etc/apache2/sites-enabled/000-default
. È consigliabile eseguire il backup del file originale prima di giocare con questo file.
Ogni volta che modifichi questo file, Apache deve essere riavviato / ricaricato affinché le modifiche abbiano effetto - sudo service apache2 restart
(o) sudo service apache2 reload
, mentre le modifiche in .htaccess
non richiedono il riavvio di Apache. Come accennato da @dobey, il .htaccess
file va nel DocumentRoot del sito web.
Per far .htaccess
funzionare i file come previsto, è necessario modificare questo file:
/etc/apache2/sites-available/default
Cerca una sezione simile a questa:
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# Uncomment this directive is you want to see apache2's
# default start page (in /apache2-default) when you go to /
#RedirectMatch ^/$ /apache2-default/
</Directory>
È necessario modificare la riga contenente AllowOverride None per leggere AllowOverride All . Questo dice ad Apache che è consentito consentire ai .htaccess
file di superare le direttive precedenti. È necessario ricaricare Apache prima che questa modifica abbia effetto:
sudo /etc/init.d/apache2 reload
2009.12.08 nota: nella lampada scaricare circa una settimana fa con Ubuntu 9.10 (Karmic) il file di configurazione di default è stato /etc/apache2/sites-available/000-default
ed è incluso
AllowOverride None
sotto <Directory />
in aggiunta a <Directory
/var/www/>
. Inoltre, per
impostazione predefinita , le directory che /www/var/
contenevano i .htaccess
file non davano accesso in lettura al server Apache, causando l'errore Apache
(13)Permission denied: /var/www/webapp/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable.
Per risolvere il problema, $ sudo nautilus
quindi fare clic con il tasto destro sulla directory con il
.htacces
file s, selezionare Proprietà, quindi selezionare Autorizzazioni e assegnare al gruppo utenti a cui si accede almeno l'autorizzazione di lettura.
Vedi http://httpd.apache.org/docs/2.0/mod/core.html#allowoverride per maggiori informazioni su AllowOverride
.
/etc/apache2/httpd.conf
ed è una buona idea fare un backup del file originale prima di giocarci. Per quanto riguarda il.htaccess
file, fare riferimento alla risposta di @dobey