Файл конфігурації за замовчуванням для файлів, які обслуговуються вашою установкою Apache /etc/apache2/sites-enabled/000-default
. Дуже добре створити резервну копію оригінального файлу, перш ніж пограти з цим файлом.
Кожен раз, коли ви редагуєте цей файл, Apache повинен бути перезапущений / перезавантажений, щоб зміни набрали чинності - sudo service apache2 restart
(або) sudo service apache2 reload
, тоді як для змін .htaccess
не потрібно перезапускати Apache. Як згадував @dobey, .htaccess
файл переходить у веб-сайт DocumentRoot.
Щоб .htaccess
файли працювали як очікувалося, потрібно відредагувати цей файл:
/etc/apache2/sites-available/default
Шукайте розділ, який виглядає приблизно так:
<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>
Вам потрібно змінити рядок, що містить AllowOverride None, щоб прочитати AllowOverride All . Це говорить Apache, що добре дозволити .htaccess
файлам перевищувати попередні директиви. Ви повинні перезавантажити Apache, перш ніж ця зміна матиме ефект:
sudo /etc/init.d/apache2 reload
2009.12.08 Примітка: в ліхтарі завантаження близько тижня тому з Ubuntu 9.10 (карми) файл конфігурації по замовчуванням був /etc/apache2/sites-available/000-default
і включений
AllowOverride None
під <Directory />
на додаток до <Directory
/var/www/>
. Крім того, каталоги, /www/var/
що містять .htaccess
файли, за умовчанням не дозволяють серверу Apache читати доступ, що призводить до помилки Apache
(13)Permission denied: /var/www/webapp/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable.
Щоб виправити, $ sudo nautilus
натисніть правою кнопкою миші на каталог з
.htacces
файлом s, виберіть "Властивості", потім виберіть "Дозволи" та дайте групі користувачів, у яку ви входите, як мінімум дозволу на читання.
Див. Http://httpd.apache.org/docs/2.0/mod/core.html#allowoverride для отримання додаткової інформації про AllowOverride
.
/etc/apache2/httpd.conf
і це гарна ідея зробити резервну копію оригінального файлу, перш ніж грати з ним. Щодо.htaccess
файлу, будь ласка, зверніться до відповіді @dobey