J'exécute un serveur LAMP sur Fedora 13 qui fonctionne bien; cependant, je viens d'ajouter un fichier ".htaccess" au dossier docroot de mon site actuel qui est complètement ignoré.
J'ai essayé une demi-douzaine de tests différents, dont celui-ci:
RewriteEngine on
RewriteBase /
RewriteRule ^.*$ index.php
Mais les images et toutes les autres pages se chargent bien et les fichiers inexistants sont toujours 404. J'ai également essayé ceci:
order deny,allow
deny from all
Mais chaque page se charge toujours très bien. Encore une fois, le fichier .htaccess est tout simplement ignoré à 100%.
Nous mettons nos enregistrements virtualhost dans /etc/httpd/conf.d/virtual.conf. Cela ressemble à ceci:
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>
Qu'est-ce qui pourrait faire que notre serveur IGNORE complètement le .htaccess
fichier ??
Modifier:
J'ai modifié le fichier .htaccess ci-dessus pour mieux démontrer que mes modifications sont ignorées. Notez que j'ai essayé exactement le même fichier .htaccess sur le serveur de production et cela a bien fonctionné.
Modifier 2:
OK, j'ai de nouvelles informations! Juste à des fins de test, j'ai parcouru et changé temporairement CHAQUE directive "AllowOverride" en AllowOverride All
. J'ai compris que la toute première entrée dans l'annuaire semblait l'emporter sur toutes les autres:
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
Quand j'ai changé ça en AllowOverride All
, mes fichiers .htaccess commencent à prendre effet. C'est comme si toutes les autres AllowOverride All
directives de mes fichiers de configuration étaient ignorées!
Ce qui donne??