Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.
Apache Error: AH00670: Options FollowSymLinks or SymLinksIfOwnerMatch is off Linux / DevOps

Apache Error AH00670: Options FollowSymLinks is off — Решение

Обновлено: 18.08.2026  ·  Официальная база знаний

При попытке открыть сайт сервер возвращает ошибку 500 Internal Server Error. В системном журнале error.log регистрируется блокировка модуля переписывания URL: [rewrite:error] [pid 1234:tid 5678] [client ...] AH00670: Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden: /var/www/html/.htaccess.

Требование модуля mod_rewriteТекущее состояние опцийРезультат безопасности
Разрешен переход по симлинкамOptions -FollowSymLinks (отключено)Критический отказ выполнения директив RewriteRule
Симлинки с проверкой владельцаOptions +SymLinksIfOwnerMatchДопустимый безопасный режим работы mod_rewrite
  • Модуль mod_rewrite отказывается обрабатывать любые правила в .htaccess из соображений безопасности.
  • Сайт полностью блокируется с кодом 500.
  1. Откройте конфигурационный файл виртуального хоста (/etc/apache2/sites-available/site.conf или /etc/httpd/conf.d/vhost.conf).
  2. В блоке <Directory> добавьте опцию FollowSymLinks или SymLinksIfOwnerMatch:
    <Directory /var/www/html>
        Options +FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
  3. Если вы используете общий хостинг и хотите обеспечить максимальную безопасность, используйте альтернативную директиву SymLinksIfOwnerMatch (разрешает переход только по тем симлинкам, владелец которых совпадает с владельцем целевого файла):
    <Directory /var/www/html>
        Options +SymLinksIfOwnerMatch
        AllowOverride All
        Require all granted
    </Directory>
  4. Проверьте файл .htaccess в корне сайта: если в нем присутствует строка Options -FollowSymLinks, удалите ее или замените на Options +FollowSymLinks.
  5. Проверьте синтаксис: sudo apache2ctl configtest.
  6. Примените конфигурацию: sudo systemctl reload apache2 # или httpd.
Почему mod_rewrite требует FollowSymLinks: Для корректного разрешения URL в физические пути файловой системы модулю mod_rewrite необходимо проверять канонические пути к файлам через системный вызов lstat(). Если переход по символическим ссылкам запрещен, алгоритм переписывания путей блокируется ядром безопасности Apache.
Практический опыт инженера: В shared-хостинг средах всегда настраивайте `Options +SymLinksIfOwnerMatch`, чтобы изолированные пользователи не могли создать симлинк на `/etc/passwd` или конфигурационные файлы соседних сайтов.

Частые вопросы (FAQ)

В чем разница между FollowSymLinks и SymLinksIfOwnerMatch?

FollowSymLinks разрешает переходить по абсолютно любым символическим ссылкам. SymLinksIfOwnerMatch разрешает переход только в том случае, если UID владельца ссылки совпадает с UID владельца целевого файла.

Почему SymLinksIfOwnerMatch работает медленнее?

Потому что Apache приходится выполнять дополнительный системный вызов stat() для каждого сегмента пути, чтобы сравнить идентификаторы владельцев файлов.

Может ли директива AllowOverride запрещать изменение опций?

Да, если в конфигурации VirtualHost указано AllowOverride AuthConfig (без Options), попытка прописать Options +FollowSymLinks в .htaccess вызовет ошибку 500.

Безопасно ли включать FollowSymLinks на сервере с одним сайтом?

Да, на выделенном сервере с одним веб-приложением включение FollowSymLinks полностью безопасно и обеспечивает максимальную производительность файлового ввода-вывода.