Назад | Перейти на главную страницу

.htaccess В разрешении отказано. Невозможно проверить файл htaccess

У меня странная проблема при добавлении субдомена к нашему виртуальному серверу. Я делал подобные поддомены раньше, и они работали нормально.

Когда я пытаюсь получить доступ к субдомену, я получаю ошибку 403 Forbidden.

Я проверил журналы ошибок и обнаружил следующую ошибку:

pcfg_openfile: unable to check htaccess file, ensure it is readable

Я искал в Google и смог найти только решения относительно разрешений для файлов и папок, которые я проверил, и решение не решено. Я также видел проблемы с расширениями Frontpage Extensions, но они не установлены на сервере.

редактировать

Забыл сказать, что в каталоге субдомена нет файла .htaccess

Редактировать # 2

Все еще не смог найти решение по этому поводу. Единственное, что мне удалось выяснить:

Редактировать # 3

Узнай больше информации. Я не думаю, что сейчас это может быть проблема с правами доступа к файлу, потому что, если я получу к нему доступ, перейдя на IP-адрес сервера, а затем в каталог, в котором размещен сайт, все будет работать нормально (за исключением таблиц стилей и изображений, которые просто до как они связаны)

У меня возникла аналогичная проблема: моя папка «/ var / www» была недоступна для Apache. Мой веб-сервер работает внутри хоста VirtualBox, а папка www используется совместно гостем (SLES11) и хостом (Windows). Проблема заключалась в том, что папка www является точкой монтирования файловой системы VirtualBox, а пользователь Linux Apache (никто) не был авторизован для просмотра точки монтирования.

Чтобы решить эту проблему, я добавил пользователя nobody в группу VBOXFS:

$>usermod -G vboxsf nobody

Мне нужно перезапустить гостя, чтобы эта модификация отразилась на Apache, и теперь она работает.

Вы используете Apache ITK MPM? Версия 2.2.17 исправляет ошибку, которая может вызывать ошибку 403 (см. журнал изменений).

У меня возникла та же проблема при использовании директивы AssignUserId. Он исчез, когда я дал файлам и папкам права доступа для чтения / выполнения.

Каким пользователем вы редактировали файл .htaccess? Можете ли вы перечислить разрешения для этого файла? Возможно, потому, что пользовательский apache запущен и не может прочитать файл.

Вам необходимо изменить разрешения для указанной папки. Папка должна быть исполняемой для пользователя, которому принадлежит процесс apache.

Попробуйте создать в этом каталоге пустой файл htaccess с правильными разрешениями, поскольку он может по какой-то странной причине ожидать его чтения, но не может

Ошибка 403 может быть связана с запретом индексации каталога для этого каталога.

Попробуйте войти в систему как пользователь apache (su-apache) и убедитесь, что этот каталог доступен для чтения.

Была такая же проблема:

webroot /var/www и все файлы внутри принадлежат www-data, все файлы доступны для чтения, все каталоги являются исполняемыми. пытался получить доступ к каталогам, упомянутым в ошибке, зарегистрированной как www-data (sudo -u www-data bash, затем cd /var/www/<somedir>). Все нормально работало.

Но все же получил указанную выше ошибку:

AH00529: /var/www/admin/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that '/var/www/admin/' is executable

Кроме того, я обнаружил, что в этой папке нет файла .htaccess. В некоторых потоках, которые я читал, упоминалось создание пустых файлов htaccess, поэтому я попробовал (как root)

cd /var/www/admin
touch .htaccess
chown www-data .htaccess

В следующий раз, когда я посетил свой сайт, ошибка произошла снова, но в другом каталоге. Поэтому дважды проверьте, что добавление файла htacces приводит к той же ошибке в ТАКОМ КАТАЛОГЕ. В противном случае может помочь следующее:

cd /var/www
for DIR in $(find . -type d); do
    touch $DIR/.htaccess
    chown www-data $DIR/.htaccess
done

Это сработало для меня. Итак, я предполагаю, что версии apache, которые мы используем, ищут файл htaccess в каждом каталоге, с которым они сталкиваются, когда AllowOverride ALL установлен. И затем они терпят неудачу, когда нет htaccess, чтобы продолжить.