Ошибка 404 при включённом SEF в компоненте Ad Agency для Joomla

    Если после установки расширения Ad Agency version 7.1.0 на Joomla 5.3.2 компонент перестаёт работать и выдаёт ошибку 404 при активированных ЧПУ (SEF), а при выключенном SEF всё функционирует нормально - проблема кроется в несовместимости маршрутизатора компонента с системой генерации дружественных URL. Разберём основные причины и способы исправления.

    Почему возникает ошибка 404 при SEF в Joomla 5

    Современные версии Joomla (4.x и 5.x) используют обновлённый механизм маршрутизации, который требует от сторонних компонентов корректной реализации файла router.php. Расширение Ad Agency, особенно старые версии, может не иметь поддержки нового API. В результате при включении SEF система не находит правильный маршрут для отображения страниц компонента.

    Основные причины неработоспособности

    • Устаревший роутер компонента - файл router.php не адаптирован под Joomla 5.
    • Конфликт с плагинами SEF - например, SH404SEF или JRoute могут блокировать запросы.
    • Отсутствие правил в .htaccess - после обновления Joomla файл мог перезаписаться.
    • Кэширование маршрутов - устаревшие кэшированные данные мешают корректной перезагрузке.

    Пошаговое руководство по исправлению

    1. Проверьте и обновите файл .htaccess

    Откройте корневую папку сайта и убедитесь, что файл .htaccess присутствует и содержит стандартные правила Joomla. Если файл отсутствует, переименуйте htaccess.txt в .htaccess и включите модуль mod_rewrite на сервере Apache.

    2. Очистите кэш Joomla

    Перейдите в Система → Очистить кэш и удалите все кэшированные данные. Особенно важно очистить кэш маршрутизации: в Joomla 5 зайдите в Система → Глобальная конфигурация → Система и нажмите Очистить кэш в разделе кэширования маршрутов.

    3. Отключите плагины SEF сторонних разработчиков

    Временно деактивируйте все плагины, связанные с SEO и ЧПУ (кроме системного System - SEF). Если после отключения компонент заработает, поочерёдно включайте плагины, чтобы найти конфликтующий.

    4. Настройте базовые параметры SEF

    В Глобальной конфигурации → Сайт → Настройки SEO установите: Включить ЧПУ - Да, Использовать mod_rewrite - Да, Добавлять суффикс к URL - Нет. После этого сохраните изменения и проверьте работу компонента.

    Дополнительные рекомендации для Ad Agency

    Разработчики Ad Agency часто выпускают патчи для совместимости с новыми версиями Joomla. Проверьте, доступно ли обновление до версии 7.1.1 или выше на официальном сайте расширения. Если обновления нет, обратитесь в поддержку с просьбой адаптировать router.php под Joomla 5. Временным решением может стать использование компонента без SEF, но это негативно скажется на SEO сайта.

    Когда проблема не решается

    Если после всех шагов ошибка 404 сохраняется, возможно, потребуется ручная правка файла components/com_adagency/router.php. Добавьте в начало файла проверку на наличие класса JRouter и используйте стандартные методы Joomla\CMS\Component\Router\RouterView. Рекомендуем доверить эту задачу опытному разработчику Joomla.

    Часто задаваемые вопросы