Редирект (redirect) — перенаправление клиента с одного URL на другой. При HTTP-редиректе сервер возвращает код 3xx и заголовок Location с адресом назначения. На сайте Joomla это нужно, например, при переносе страницы или смене структуры адресов.
Коды перенаправлений
| Код | Смысл | Метод запроса |
|---|---|---|
| 301 | Постоянный перенос. | При POST клиент может перейти на GET. |
| 302 | Временный переход. | При POST клиент может перейти на GET. |
| 303 | Посмотреть результат по другому адресу. | Обычно следующий запрос GET. |
| 307 | Временный переход. | Метод и тело сохраняются. |
| 308 | Постоянный перенос. | Метод и тело сохраняются. |
Редирект и canonical
Редирект отправляет посетителя на другой адрес. Canonical обозначает предпочтительный URL для индексирования, но сам по себе не переводит браузер. Эти механизмы решают разные задачи.
Редиректы в Joomla
Компонент «Перенаправления» Joomla и связанный системный плагин помогают обрабатывать прежние адреса, которые больше не находятся. Они не заменяют все серверные правила для HTTPS, домена и любых существующих страниц. Возможности зависят от версии и конфигурации сайта.
После смены URL настройте переход к наиболее подходящей странице, обновите внутренние ссылки Joomla и карту сайта. Массовый перевод всех старых адресов на главную часто лишает посетителя нужного содержания.
Проверка
Проверьте код ответа, Location и конечный URL. Избегайте цепочек из нескольких переходов и циклов. Отдельно тестируйте формы и API, где сохранение метода запроса существенно.
Итог
Редирект сохраняет путь посетителя при изменении адресов Joomla. Его код, назначение и поведение запроса должны соответствовать задаче.