Перейти к содержимому

Редиректы

Редиректы перенаправляют посетителей с одного URL на другой. Браузер получает HTTP-ответ с кодом перенаправления и автоматически переходит на новый адрес.

  1. Откройте проект → SettingsRouting Rules

  2. Выберите окружение в правом верхнем углу (Production, Preview и т.д.)

  3. На вкладке Redirects нажмите Добавить редирект

  4. Заполните поля:

    • Исходный путь — откуда перенаправлять (например, /old-page)
    • Путь назначения — куда перенаправлять (например, /new-page)
    • Статус код — тип перенаправления (301, 302, 307, 308)
  5. Выберите окружения, в которых применить правило

  6. Нажмите Добавить

Правило применится автоматически в течение нескольких секунд.

КодНазваниеКогда использовать
301Moved PermanentlyСтраница переехала навсегда. Браузеры и поисковики кэшируют
302FoundВременное перенаправление. Метод запроса может измениться на GET
307Temporary RedirectВременное перенаправление с сохранением метода (POST остаётся POST)
308Permanent 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.

/docs/* → /documentation/:splat

Символ * захватывает всё после указанного префикса, включая /.

/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

По умолчанию редирект не применяется, если по исходному пути существует файл. Это защищает от случайного перенаправления существующих страниц.

Правило: /about → /company (force: false)
Файл /about.html существует?
├─ Да → Отдаётся файл /about.html
└─ Нет → Редирект на /company

Правила проверяются сверху вниз. Первое совпавшее правило применяется, остальные игнорируются.

Используйте drag-and-drop для изменения порядка.

Правильный порядок:

#ПравилоКомментарий
1/blog/featured/featuredСпецифичное правило
2/blog/*/news/:splatОбщее правило

Неправильный порядок:

#ПравилоПроблема
1/blog/*/news/:splatПерехватит все запросы /blog/*
2/blog/featured/featuredНикогда не сработает

При создании редиректа вы можете выбрать несколько окружений одновременно. Правило будет создано во всех выбранных окружениях с одинаковыми настройками.

  1. Найдите редирект в списке
  2. Нажмите на иконку удаления справа
  3. Подтвердите удаление в диалоге

При редизайне сайта перенаправляйте старые URL на новые:

/services → /solutions (301)
/services/* → /solutions/:splat (301)
/about-us → /company (301)
/acme/* → /newbrand/:splat (301)
/page/ → /page (301)
/index → / (301)
/home → / (301)

Если редирект не работает:

  1. Проверьте порядок правил — более общее правило может перехватывать запросы
  2. Проверьте окружение — правило может быть настроено только для Production
  3. Проверьте наличие файла — если файл существует и Force выключен, редирект не сработает
  4. Подождите несколько секунд — изменения применяются не мгновенно

Для проверки редиректа используйте инструменты разработчика в браузере (вкладка Network) или онлайн-сервисы.