Centos htaccess не читается

Я работаю над новым сервером, и я установил через yum группу "веб-сервер". Php и mysql работают нормально, но я не могу получить .htaccess для работы.

вот мой тест .файл htaccess:

WASD_TEST_CALL_ERROR

Я поставил это как .htaccess в тестовой папке вместе с индексом.HTML-страница. Вместо сообщения об ошибке он идет вперед и загружает страницу индекса без отображения каких-либо ошибок.

спасибо

3 ответов


убедитесь, что для AccessFileName установлено значение .реврайт

Поиск httpd.conf для директивы AccessFileName. Он определяет имя распределенного файла конфигурации:

grep -i AccessFileName httpd.conf

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

то, что вы можете поместить в эти файлы, определяется директивой AllowOverride. Эта директива указывает в категориях, какие директивы будут выполняться, если они находятся в a .файл htaccess. Если эта директива имеет значение None, то .файлы htaccess полностью игнорируются. В этом случае сервер даже не будет пытаться читать .htaccess файлы в файловой системе.

grep -i AllowOverride httpd.conf

когда эта директива установлена на все, то любая директива, которая имеет .контекст htaccess разрешен .htaccess файлы : AllowOverride All

сохранить и закрыть файл. Перезапуска httpd:

service httpd restart

вы установили AllowOverride в конфигурации Apache? Если нет, установите AllowOverride из none до all.


на CentOS7, следующее должно помочь:

  1. в строке AllowOverride контролирует, какие директивы могут быть размещены .htaccess файлы на /etc/httpd/conf/httpd.conf: заменить AllowOverride None на AllowOverride All

  2. In/etc/httpd / conf.модули.д/00-базовый.проверка conf rewrite_module должно быть:

    LoadModule rewrite_module modules/mod_rewrite.so

  3. .файл htaccess должен быть в / var / www / html/

  4. пример содержание .реврайт:

    AuthUserFile /var/www/.htpasswd AuthGroupFile /dev/null AuthName "Please Enter Password" AuthType Basic Require valid-user
  5. проверьте и перезапустите Apache:

    httpd -t

    /bin/systemctl restart httpd.service