Почему сайт показывает ошибку 500 после изменения .htaccess
Apache читает .htaccess при каждом запросе и, наткнувшись на ошибку, отказывается обрабатывать запрос — посетители видят «500 Internal Server Error». Валидатор находит самые распространённые причины ещё до загрузки файла на сервер.
Что проверяем
- Незакрытые или неправильно вложенные секции
<IfModule>,<Files>,<FilesMatch>. - Секции, запрещённые в .htaccess:
<Directory>,<VirtualHost>,<Location>. - Синтаксис
RewriteRuleиRewriteCond: регулярные выражения, флаги, количество аргументов, наличиеRewriteEngine On. - Коды и пути в
RedirectиErrorDocument, опцииOptions. - Устаревший синтаксис Apache 2.2 (
Order,Allow,Deny) и директивыphp_value, которые ломают сайты на PHP-FPM.
Новый файл с типовыми настройками удобно составить в конструкторе .htaccess.