MODX error 500 — как найти и устранить причину
Ошибка 500 в MODX — это «внутренняя ошибка сервера». Она не показывает деталей в браузере, поэтому главное — быстро добраться до логов и пройтись по типовым точкам отказа: .htaccess/Friendly URLs, конфигурация, права, кэш, версии PHP/расширения. Ниже — пошаговый план действий с примерами.
Шаг 1. Откройте логи: где смотреть ошибки
core/cache/logs/error.log— основной лог MODX (ошибки PHP/плагинов/шаблонов).- Логи веб-сервера: Apache
error_logили nginxerror.log— низкоуровневые причины (права, модуль mod_rewrite, PHP-fatal).
Совет: если админка доступна, смотрите «Отчёты → Журнал ошибок». На SSH — удобно tail -f core/cache/logs/error.log.
Шаг 2. Быстрый чек-лист (частые причины 500)
| Симптом | Вероятная причина | Что сделать |
|---|---|---|
| 500 сразу после включения ЧПУ (Friendly URLs) | Ошибки в .htaccess, неверный RewriteBase, не включён mod_rewrite |
Проверьте, что файл называется .htaccess (а не ht.access), включён mod_rewrite; задайте правильный RewriteBase при установке в поддиректорию |
| Белый экран, пустая страница | PHP-fatal из дополнений/плагинов/шаблонов; переполненный кэш; нет места на диске | Откройте error.log, очистите core/cache вручную, проверьте место и права |
| 500 после переноса/апгрейда | Неверные пути в конфиге, права/владение, несовместимые Extras | Проверьте core/config/config.inc.php, запустите /setup/, обновите Extras |
| Сообщение «Could not load MODX config file» | Нет или нечитабелен config.inc.php |
Создайте пустой файл core/config/config.inc.php с правами на запись и запустите /setup/ |
| 500 только на фронте, админка работает | Ошибка в чанке/шаблоне/плагине фронтенда | Смотрите error.log, отключайте плагины по очереди, проверьте последние изменения |
Шаг 3. Правильный .htaccess для Friendly URLs
Базовый фрагмент, который чаще всего спасает при установке в корень домена:
# В корне сайта (Apache)
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Если MODX установлен в подкаталог (например, /site/), поменяйте RewriteBase:
RewriteBase /site/
Частая ошибка — забыли переименоватьht.access→.htaccessили задали неверныйRewriteBaseпосле переноса.
Шаг 4. Очистка кэша и проверка прав
- Удалите содержимое
core/cache/вручную (не саму папку). - Проверьте права/владельца на
core/cache,assets/,core/components/— веб-сервер должен иметь запись. - Убедитесь, что на диске есть свободное место: переполненный диск тоже вызывает 500.
Шаг 5. Конфигурация и пути (перенос/локалка → прод)
После переноса проверьте core/config/config.inc.php — пути и URL. Если файла нет или он «битый», создайте пустой с правами на запись и запустите установщик по адресу /setup/ (он пересоздаст конфиг). При апгрейде — обновите Extras и кэш.
Шаг 6. Диагностика через логи (пример)
[2025-08-12 10:21:45] (ERROR) [pdoTools] PHP Fatal error: Call to undefined function mb_strlen()
# Решение: установить/включить расширение PHP mbstring и перезапустить PHP-FPM/Apache.
Другие классические причины из логов: отсутствие PDO-драйвера БД, синтаксические ошибки в плагинах, ошибки шаблонов/чанков, невалидный JSON в конфиг-TV.
Шаг 7. Когда ломается только одна страница/ресурс
- Отключите обработчики событий (плагины) на время проверки.
- Проверьте шаблон и чанк ресурса: закомментируйте подозрительные вызовы, постепенно возвращайте.
- Если используете Fenom — проверьте фигурные скобки в JS/JSON; проблемные блоки можно обернуть в
{ ignore }...{ /ignore }.
Расширенный чек-лист «что попробовать»
- Логи:
core/cache/logs/error.log+ серверные (Apache/nginx/PHP). - Очистить
core/cacheвручную. - Права/владение: директории — 755/775, файлы — 644 (или согласно политике хостинга).
.htaccess: имя файла,RewriteBase, mod_rewrite.config.inc.php: наличие, права, корректные пути; при сомнениях —/setup/.- Отключить кастомные плагины/Extras и включать по одному.
- Проверить версии PHP/расширений (pdo_mysql, mbstring, json и т.п.).
Где просить помощь
Если в логах непонятно — напишите на форумы/сообщество MODX, приложите фрагмент error.log, версию MODX/PHP и окружение. Тем временем можно временно отключить проблемные плагины, чтобы сайт жил.
Итог
Ошибка 500 в MODX почти всегда диагностируется за 10–15 минут при доступе к логам и системному чек-листу. Начинайте с error.log, затем — .htaccess/Friendly URLs, кэш и конфиг. Для сложных случаев помогает пошаговое отключение плагинов и проверка PHP-расширений.
👉 Нужна оперативная помощь? Закажите разработку и поддержку сайтов на MODX — разберёмся с 500-ошибкой, настроим логи, кэш и деплой.
FAQ (микроразметка)
Где смотреть причину ошибки 500 в MODX?
Откройте core/cache/logs/error.log и серверные логи (Apache/nginx/PHP). В админке — «Отчёты → Журнал ошибок».
Что чаще всего ломает сайт после включения ЧПУ?
Неверный RewriteBase и неактивный mod_rewrite, а также забытый файл ht.access вместо .htaccess. Исправьте конфиг и перезапустите веб-сервер.
Как быть с «Could not load MODX config file»?
Создайте пустой core/config/config.inc.php с правами на запись и запустите /setup/. Проверяйте пути и URL после переноса.
Помогает ли чистка кэша при 500-ошибке?
Часто да. Удаление содержимого core/cache/ решает проблемы после апгрейдов и конфликтов плагинов. Если не помогло — читайте логи.

Напишите нам в WhatsApp



