У меня странная проблема при добавлении субдомена к нашему виртуальному серверу. Я делал подобные поддомены раньше, и они работали нормально.
Когда я пытаюсь получить доступ к субдомену, я получаю ошибку 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, чтобы продолжить.