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

.htaccess включен, но не работает

У меня возникли очень неприятные проблемы с тем, чтобы заставить .htaccess работать на моем новом сервере. Я не очень опытен в управлении сервером, но последние три дня я потратил на изучение документации и всех ресурсов, которые мне попадались.

Я попытался попробовать очень простое приложение .htaccess, но оно не дает ожидаемых результатов. Я установил тестовый каталог. Непосредственно в этом каталоге находится файл .htaccess со следующей командой:

отрицать от всех

Если я не ошибаюсь, это должно запретить доступ к / test, но это не так. Он просто сидит, позволяя любому просматривать содержимое. Я сделал читаемую копию .htaccess, доступную в том же каталоге для всех, кто хочет видеть именно что происходит в моем .htaccess.

Что может быть не так с моим сервером / конфигурацией? На сервере работает CentOS.

Ответ на Дом

# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
#   Options FileInfo AuthConfig Limit
#
    AllowOverride None

Как и было предложено, я изменил это на AllowOverride All, а затем перезапустил мой сервер:

service httpd restart

Но получил следующее сообщение:

Синтаксическая ошибка в строке 347 файла /etc/httpd/conf/httpd.conf:
AllowOverride здесь не разрешен [FAILED]

Строка 347 - последняя строка ниже:

# UserDir: The name of the directory that is appended onto a user's home
# directory if a ~user request is received.
#
# The path to the end user account 'public_html' directory must be
# accessible to the webserver userid.  This usually means that 
# ~useridllowOverride controls what directives may be placed in 
# .htaccess files.
# It can be "All", "None", or any combination of the keywords:
#   Options FileInfo AuthConfig Limit
#
    AllowOverride None

У вас есть AllowOverride All в вашей конфигурации Virtualhost? если у тебя есть AllowOverride None, файл .htaccess не читается, поэтому он не будет использоваться. И правильно,

отрицать от всех

в одиночку запретил подключение к папке. И не забудьте перезагрузить apache