Настройка дружественных URL в MODX: короткое руководство
Пошагово включаем человекопонятные адреса в MODX Revolution 2.8.x и 3.x: проверяем настройки, готовим .htaccess, задаём алиасы и разбираем ошибки 404.

После настройки дружественных URL страница MODX будет открываться по адресу вроде /catalog/phones/, а не /index.php?id=12. На базовую настройку обычно уходит 15–30 минут: понадобятся доступ в менеджер MODX и возможность изменить файл конфигурации веб-сервера. Инструкция рассчитана на MODX Revolution 2.8.x и 3.x; названия отдельных полей могут немного отличаться в зависимости от сборки и перевода панели.
Что подготовить до начала
Перед изменениями проверьте четыре вещи:
- у вас есть доступ к менеджеру MODX с правами на системные настройки;
- вы можете открыть корень сайта по FTP, SSH или через файловый менеджер хостинга;
- сайт работает через Apache или настроен серверный эквивалент правил MODX для Nginx;
- есть резервная копия файла
.htaccessи базы данных.
Если сайт работает на Apache, в корне MODX обычно лежит файл ht.access. Он служит шаблоном для правил Apache. Скрытый файл .htaccess может не отображаться в FTP-клиенте, поэтому включите показ скрытых файлов.
Алиас1 — короткое машинное имя ресурса, которое MODX использует в URL вместо числового идентификатора. Например, для ресурса «Смартфоны» алиасом может быть smartphones.
Шаг 1. Включите дружественные URL в MODX
Откройте в менеджере раздел системных настроек. В MODX Revolution это обычно пункт Настройки системы или System Settings. Найдите параметры по словам friendly и включите настройку friendly_urls, которая может отображаться как «Использовать дружественные URL».
Сохраните настройку и очистите кеш сайта через меню управления кешем. Откройте любую опубликованную страницу в новой вкладке. Если адрес уже изменился с ?id=... на путь с алиасом, базовая настройка сработала. Если сервер возвращает 404, перейдите к следующему шагу и проверьте правила переписывания.
Шаг 2. Подключите правила переписывания
Apache и .htaccess
Сделайте копию существующего .htaccess, если он уже есть. Если в корне лежит только ht.access, скопируйте его в тот же каталог и назовите результатом .htaccess. Не удаляйте исходный ht.access: он пригодится после обновления или повторной настройки.
Проверьте, что корень сайта указывает именно на каталог, где расположен файл index.php MODX. Затем очистите кеш MODX и откройте URL ресурса без параметра id. При рабочем mod_rewrite запрос попадёт в MODX, а страница загрузится по алиасу. Если видите страницу Apache с ошибкой 404, правила не применились или каталог сайта настроен неверно.
Nginx
Nginx не читает .htaccess. Для него правила из файла MODX нужно перенести в конфигурацию виртуального хоста, после чего проверить конфигурацию и перезагрузить Nginx. Синтаксис зависит от структуры сервера, PHP-FPM и расположения сайта, поэтому не копируйте Apache-конфигурацию в Nginx буквально.
После изменения конфигурации откройте тестовую страницу MODX и проверьте журнал ошибок веб-сервера. Успешный результат — URL с алиасом отдаёт страницу MODX, а запрос к несуществующему пути по-прежнему возвращает штатную страницу 404 сайта, а не ошибку самого Nginx.
Дружественный URL — это не только внешний вид адреса. В MODX он зависит одновременно от алиаса ресурса, настроек вложенности и правил веб-сервера.
Шаг 3. Настройте алиасы ресурсов
Откройте ресурс в дереве MODX и найдите поле Алиас. Для русскоязычной страницы лучше задать латинское значение: oplata-i-dostavka, а не оставить автоматическую транслитерацию без проверки. Используйте строчные буквы, цифры и дефисы. Пробелы, слеши и знаки вопроса в алиасе не нужны.
- Откройте опубликованный ресурс и перейдите к его основным параметрам.
- Введите уникальный алиас, например
oplata-i-dostavka. - Сохраните ресурс, очистите кеш и откройте новый адрес в браузере.
Проверка шага: страница открывается по адресу вида /oplata-i-dostavka/ или с настроенным расширением, например /oplata-i-dostavka.html. Точный вид зависит от параметров суффикса и контейнеров.
Если вы меняете алиас уже опубликованной страницы, старый адрес сам по себе не обязан перенаправляться на новый. Для важных страниц настройте редирект на уровне веб-сервера или используйте проверенный инструмент управления перенаправлениями. Не создавайте одновременно несколько ресурсов с одинаковым алиасом в одном контексте: результат зависит от структуры сайта и настройки разрешения дубликатов.
Шаг 4. Включите вложенные пути
По умолчанию дочерний ресурс может открываться по короткому адресу, но для структуры каталога часто нужен полный путь: /catalog/phones/. В системных настройках найдите use_alias_path — «Использовать путь из алиасов» — и включите его.
У родительского и дочернего ресурса должны быть корректные алиасы. Например, у раздела «Каталог» — catalog, у дочернего раздела «Телефоны» — phones. После сохранения обоих ресурсов очистите кеш и проверьте полный путь в браузере. Если URL не изменился, убедитесь, что настройка включена именно в нужном контексте сайта.
Настройка вложенных путей особенно важна для интернет-магазинов и документации. Но она увеличивает цену изменения структуры: перенос родителя меняет адреса всех дочерних страниц. До перестройки дерева составьте список старых URL и подготовьте перенаправления.
Шаг 5. Проверьте суффиксы и главную страницу
MODX может добавлять к адресу суффикс, например .html, если он задан в системной настройке friendly_url_suffix. Для сайта без расширений оставьте значение пустым, если это соответствует вашей структуре и правилам сервера. Не меняйте суффикс на работающем сайте без плана редиректов: поисковые системы и внешние ссылки будут обращаться к старым адресам.
Для контейнеров и конечных страниц могут использоваться разные правила оформления URL. После изменения суффиксов проверьте не одну страницу, а несколько типов ресурсов:
- главную страницу;
- обычный опубликованный ресурс;
- дочерний ресурс с вложенным алиасом;
- неопубликованный или недоступный ресурс;
- страницу с кириллическим заголовком и вручную заданным латинским алиасом.
Проверка шага: ссылки в меню, хлебные крошки и ссылки внутри текста ведут на тот же формат URL, который вы открываете вручную. Если часть ссылок содержит старый формат, проверьте, не сохранён ли полный адрес в поле ссылки или в шаблоне.
Если не получилось
Страница отдаёт 404 после включения настройки
На Apache проверьте наличие именно .htaccess в каталоге с index.php, а не только ht.access. На хостинге также может быть запрещено применение правил каталога через настройку AllowOverride. В этом случае обратитесь к администратору или в поддержку хостинга с просьбой включить обработку rewrite-правил для каталога сайта.
Открывается главная страница вместо нужного ресурса
Чаще всего MODX не получил корректный запрос от веб-сервера или в дереве есть конфликт алиасов. Проверьте алиасы родителей и дочерних ресурсов, очистите кеш и посмотрите журнал ошибок MODX. Если проблема появилась после изменения Nginx, сначала верните рабочую конфигурацию и только потом проверяйте новые правила.
В URL остался параметр ?id=12
Проверьте, включён ли friendly_urls в нужном контексте, обычно в web. Затем очистите кеш MODX. Если прямой URL уже работает, но меню продолжает генерировать ссылки с id, проблема может быть в закешированном меню, шаблоне или вручную прописанной ссылке.
Русские символы превращаются в длинный нечитаемый адрес
Задайте алиас вручную латинскими буквами и сохраните ресурс заново. Автоматическая генерация алиасов зависит от настроек MODX и локали, поэтому для публичных страниц лучше контролировать значение самостоятельно.
После обновления сайта URL перестали работать
Сравните текущий .htaccess с резервной копией и проверьте, не перезаписал ли хостинг конфигурацию. Обновления, смена PHP, перенос на Nginx и изменение корня сайта могут повлиять на rewrite-правила независимо от настроек MODX.
Что проверить дальше
После базовой настройки просканируйте сайт краулером или хотя бы пройдите вручную все пункты меню. Ищите 404, дубли страниц с разными форматами URL, ссылки на старые алиасы и циклические перенаправления. В серверных журналах полезно отдельно отслеживать ответы 404 и 301: резкий рост одного из показателей обычно показывает ошибку в структуре или редиректах.
Затем зафиксируйте выбранный формат: со слешем или с расширением, с вложенными путями или без них. Новые ресурсы должны получать алиасы по тому же правилу. Изменения структуры URL проводите только вместе с картой перенаправлений и проверкой ссылок после очистки кеша.
1 В MODX алиас хранится у ресурса и участвует в построении его дружественного адреса. Алиас не равен заголовку страницы: заголовок можно менять для посетителей, а изменение алиаса меняет URL.
Инфографика для маркетплейса: Три главных преимущества товара короткими фразами, выноски в безопасной зоне превью, точный размер площадки.
Спросить за 60 ₽Источники: MODX Documentation: Friendly URLs, MODX Documentation: System Settings
Частые вопросы
Нужно ли включать дружественные URL, если сайт маленький?
Почему после включения friendly_urls все страницы стали недоступны?
Можно ли изменить алиас опубликованной страницы?
Почему MODX не строит URL вида /catalog/phones/?
Что делать, если сайт работает на Nginx?
Повлияет ли смена URL на поисковую выдачу?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.