Дозвіл відхилено: /home/.htaccess pcfg_openfile: неможливо перевірити файл htaccess


13

Цей домен працював сьогодні вранці, тепер я отримую помилку 403 та повідомлення вище в своєму журналі помилок. Я не використовую файли .htaccess, але я робив якусь копію на сервері, тому, можливо, зіпсував речі, але жодних змін у цьому домені немає (якщо не випадково!). Що це за річ pcfg_openfile?

Зробили багато гуглів, але жодне з рішень, здавалося, не відповідало цим обставинам. Сервер - ubuntu Hardy Heron.

Відповіді:


19

ви, ймовірно, змінили дозволи для каталогу (або одного з його батьків), який веб-сервер шукає .htaccess в, щоб веб-сервер більше не міг перевіряти, чи є файл .htaccess.

спочатку зафіксуйте дозволи в каталозі (має бути rx процесом веб-сервера, таким чином 755 або 775, залежно від того, чи хочете ви, щоб редактор мав груповий запис чи ні). Зауважте, що ви повинні переконатися, що дозволи веб-сервера файлів резервної копії кожного батьківського каталогу (тобто /) є rx веб-сервером.

а потім, якщо ви фактично не використовуєте файли .htaccess і не маєте наміру використовувати їх у майбутньому (тобто ви маєте намір поставити всі свої конфігурації в httpd.conf / apache.conf), тоді вимкніть файли htaccess у конфігурації apache.

існує невеликий штраф за продуктивність за перевірку наявності, читання та розбору файлів .htaccess у поточному режимі та в кожному батьківському режимі, резервного копіювання до кореня документа. він дуже маленький, але він додається, коли є багато запитів.


Пляма на. Мені додому вдалося змінити дозволи на / home каталог, і це зіпсувало все інше. Величезне спасибі!
користувач19196

2

Якщо не очевидно, що сервер не може читати .htaccess (або 0755 або .htacess, а решта дерева знаходиться у групі даних www), шукайте вищий корінь каталогу тільки onwer: group, який робить *** * не **** мають доступ до світового виконання.

Для того, щоб апаш знайшов файл, він повинен здійснити пошук по дереву. Це не може зробити, якщо каталог, котрий є root: root не має глобального доступу до виконання.

Я кілька разів зіткнувся з цим .... :-)


"Це не може зробити, якщо каталог, котрий є root: root не має глобального доступу до виконання." Це не завжди так. Якщо ви використовуєте suPHP, то PHP працює як власник файлу. Теоретично ви маєте змогу перевірити доступ Apache, перейшовши на користувача, що володіє файлами, і побачити, чи можете ви там перейти.
Buttle Butkus
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.