Sto eseguendo un server LAMP su Fedora 13 che funziona bene; tuttavia, ho appena aggiunto un file ".htaccess" alla cartella docroot del mio sito corrente che viene completamente ignorato.
Ho provato mezza dozzina di test diversi, incluso questo:
RewriteEngine on
RewriteBase /
RewriteRule ^.*$ index.php
Ma le immagini e tutte le altre pagine si caricano bene e i file inesistenti continuano a 404. Ho anche provato questo:
order deny,allow
deny from all
Ma ogni pagina si carica ancora bene. Anche in questo caso il file .htaccess viene semplicemente ignorato al 100%.
Inseriamo i nostri record di virtualhost in /etc/httpd/conf.d/virtual.conf. Sembra così:
NameVirtualHost *
<VirtualHost *>
ServerName intranet
DocumentRoot /var/www/default
<Directory "/var/www/default">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *>
ServerName ourwebsite.com
DocumentRoot /var/www/html/ourwebsite.com/docroot
<Directory "/var/www/html/ourwebsite.com/docroot">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Cos'altro potrebbe causare il nostro server per IGNORARE completamente il .htaccess
file ??
Modificare:
Ho modificato il file .htaccess in sopra per dimostrare meglio che le mie modifiche vengono ignorate. Si noti che ho provato lo stesso file .htaccess sul server di produzione e ha funzionato bene.
Modifica 2:
OK, ho nuove informazioni! Solo a scopo di test, ho esaminato e modificato temporaneamente OGNI direttiva "AllowOverride" in AllowOverride All
. Ho capito che la prima voce della Directory sembra sopraffare tutte le altre:
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
Quando l'ho cambiato in AllowOverride All
, i miei file .htaccess iniziano ad avere effetto. È come se tutte le altre AllowOverride All
direttive nei miei file di configurazione fossero ignorate!
Cosa dà ??