Я запускаю сервер LAMP на Fedora 13, який працює чудово; однак я тільки що додав файл ".htaccess" до папки docroot мого поточного сайту, яка повністю ігнорується.
Я спробував півдюжини різних тестів, включаючи цей:
RewriteEngine on
RewriteBase /
RewriteRule ^.*$ index.php
Але зображення та всі інші сторінки завантажуються прекрасно, а неіснуючі файли все ще 404. Я також спробував це:
order deny,allow
deny from all
Але кожна сторінка все ще завантажується просто чудово. Знову файл .htaccess просто ігнорується на 100%.
Ми розміщуємо наші віртуальні записи в /etc/httpd/conf.d/virtual.conf. Це виглядає приблизно так:
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>
Що ще може спричинити наш сервер повністю IGNORE .htaccess
файл ??
Редагувати:
Я змінив файл .htaccess на вище, щоб краще продемонструвати, що мої зміни ігноруються. Зауважте, що я спробував такий самий файл .htaccess на виробничому сервері, і він працював чудово.
Редагувати 2:
Гаразд, у мене нова інформація! Тільки для тестування я пройшов і тимчасово змінив КОЖНУ директиву "AllowOverride" на AllowOverride All
. Я зрозумів, що найперший запис у Каталозі, здається, перемагає всіх інших:
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
Коли я змінив це AllowOverride All
, мої файли .htaccess починають діяти. Це як і всі інші AllowOverride All
директиви в моїх конфігураційних файлах ігноруються!
Що дає ??