Редиректы
Редиректы перенаправляют посетителей с одного URL на другой. Браузер получает HTTP-ответ с кодом перенаправления и автоматически переходит на новый адрес.
Создание редиректа
Заголовок раздела «Создание редиректа»-
Откройте проект → Settings → Routing Rules
-
Выберите окружение в правом верхнем углу (Production, Preview и т.д.)
-
На вкладке Redirects нажмите Добавить редирект
-
Заполните поля:
- Исходный путь — откуда перенаправлять (например,
/old-page) - Путь назначения — куда перенаправлять (например,
/new-page) - Статус код — тип перенаправления (301, 302, 307, 308)
- Исходный путь — откуда перенаправлять (например,
-
Выберите окружения, в которых применить правило
-
Нажмите Добавить
Правило применится автоматически в течение нескольких секунд.
Статус коды
Заголовок раздела «Статус коды»| Код | Название | Когда использовать |
|---|---|---|
| 301 | Moved Permanently | Страница переехала навсегда. Браузеры и поисковики кэшируют |
| 302 | Found | Временное перенаправление. Метод запроса может измениться на GET |
| 307 | Temporary Redirect | Временное перенаправление с сохранением метода (POST остаётся POST) |
| 308 | Permanent Redirect | Постоянное перенаправление с сохранением метода |
Примеры использования
Заголовок раздела «Примеры использования»Простое перенаправление
Заголовок раздела «Простое перенаправление»/old-page → /new-page (301)Запрос /old-page перенаправляется на /new-page.
Перенаправление раздела
Заголовок раздела «Перенаправление раздела»/blog/* → /news/:splat (301)| Запрос | Результат |
|---|---|
/blog/ | /news/ |
/blog/post-1 | /news/post-1 |
/blog/2024/01/article | /news/2024/01/article |
Перенаправление с параметром
Заголовок раздела «Перенаправление с параметром»/user/:id → /profile/:id (301)| Запрос | Результат |
|---|---|
/user/123 | /profile/123 |
/user/john | /profile/john |
Перенаправление на внешний ресурс
Заголовок раздела «Перенаправление на внешний ресурс»Редиректы поддерживают только относительные пути. Для перенаправления на внешний домен используйте Rewrites с внешним URL.
Паттерны путей
Заголовок раздела «Паттерны путей»Точное совпадение
Заголовок раздела «Точное совпадение»/about → /company/aboutСработает только для /about, но не для /about/team.
Wildcard (*)
Заголовок раздела «Wildcard (*)»/docs/* → /documentation/:splatСимвол * захватывает всё после указанного префикса, включая /.
Именованный параметр (:param)
Заголовок раздела «Именованный параметр (:param)»/product/:slug → /shop/item/:slugПараметр :slug захватывает один сегмент пути (без /).
Комбинация
Заголовок раздела «Комбинация»/user/:id/posts/* → /profile/:id/articles/:splat| Запрос | Результат |
|---|---|
/user/123/posts/new | /profile/123/articles/new |
/user/john/posts/2024/best | /profile/john/articles/2024/best |
Опция Force
Заголовок раздела «Опция Force»По умолчанию редирект не применяется, если по исходному пути существует файл. Это защищает от случайного перенаправления существующих страниц.
Правило: /about → /company (force: false)
Файл /about.html существует?├─ Да → Отдаётся файл /about.html└─ Нет → Редирект на /companyПравило: /about → /company (force: true)
Всегда редирект на /company, файл игнорируетсяПорядок правил
Заголовок раздела «Порядок правил»Правила проверяются сверху вниз. Первое совпавшее правило применяется, остальные игнорируются.
Используйте drag-and-drop для изменения порядка.
Правильный порядок:
| # | Правило | Комментарий |
|---|---|---|
| 1 | /blog/featured → /featured | Специфичное правило |
| 2 | /blog/* → /news/:splat | Общее правило |
Неправильный порядок:
| # | Правило | Проблема |
|---|---|---|
| 1 | /blog/* → /news/:splat | Перехватит все запросы /blog/* |
| 2 | /blog/featured → /featured | Никогда не сработает |
Массовое создание
Заголовок раздела «Массовое создание»При создании редиректа вы можете выбрать несколько окружений одновременно. Правило будет создано во всех выбранных окружениях с одинаковыми настройками.
Удаление редиректа
Заголовок раздела «Удаление редиректа»- Найдите редирект в списке
- Нажмите на иконку удаления справа
- Подтвердите удаление в диалоге
Типичные сценарии
Заголовок раздела «Типичные сценарии»Миграция URL-структуры
Заголовок раздела «Миграция URL-структуры»При редизайне сайта перенаправляйте старые URL на новые:
/services → /solutions (301)/services/* → /solutions/:splat (301)/about-us → /company (301)Ребрендинг
Заголовок раздела «Ребрендинг»/acme/* → /newbrand/:splat (301)Удаление trailing slash
Заголовок раздела «Удаление trailing slash»/page/ → /page (301)Каноникализация
Заголовок раздела «Каноникализация»/index → / (301)/home → / (301)Отладка
Заголовок раздела «Отладка»Если редирект не работает:
- Проверьте порядок правил — более общее правило может перехватывать запросы
- Проверьте окружение — правило может быть настроено только для Production
- Проверьте наличие файла — если файл существует и Force выключен, редирект не сработает
- Подождите несколько секунд — изменения применяются не мгновенно
Для проверки редиректа используйте инструменты разработчика в браузере (вкладка Network) или онлайн-сервисы.
См. также
Заголовок раздела «См. также»- Обзор правил роутинга — общая информация
- Rewrites — проксирование без изменения URL
- Заголовки — кастомные HTTP-заголовки