База знаний

Как сохранить путь и параметры при редиректе

Сначала решите, что должно измениться: только домен, отдельный путь или весь адрес. Затем отдельно определите судьбу параметров запроса.

У URL есть части с разными задачами

https://example.com/docs/start?tag=a&tag=b#install
/docs/start
Путь к ресурсу
?tag=a&tag=b
Параметры запроса
#install
Фрагмент в браузере

Перенаправление может заменить только хост, весь путь или адрес целиком. Правило нужно выбрать явно: универсального «правильного» поведения для всех переездов нет.

Сохранить путь: когда структура та же

Пример маршрута
Исходный URLhttps://old.example.com/docs/start?lang=ru
HTTP301
Назначениеhttps://new.example.org/docs/start?lang=ru

Меняется только хост. Путь /docs/start и параметр lang=ru остаются.

Такое правило удобно при смене домена без перестройки сайта. Перед переносом убедитесь, что целевые пути существуют: сохранение адреса не создаёт недостающую страницу.

Заменить путь: когда структура изменилась

Старая страница /blog/setup может стать /guides/first-steps. Для неё нужно явное соответствие. Для короткой рекламной ссылки /summer назначением может быть вообще один фиксированный URL кампании.

Если разные старые страницы должны вести в разные места, подготовьте таблицу соответствий. Перенаправление всех путей на главную удобно для правила, но часто неудобно посетителю.

Сохранить или убрать параметры

UTM и другие параметры можно переносить, если они нужны принимающей странице. Например, ?tag=a&tag=b&utm_source=letter содержит два значения tag: нельзя случайно превратить их в одно или поменять смысл.

Параметры старого приложения, одноразовые токены или ненужные метки иногда стоит исключить. Это осознанное правило, а не побочный эффект смены домена. Если целевой URL уже содержит query, заранее определите приоритет, объединение и обработку одинаковых имён.

Пробелы и закодированные символы

Пробел в пути может быть записан как %20: /files/annual%20report.pdf. Кириллица также передаётся в URL в кодированной форме. Готовое кодирование не следует кодировать ещё раз: %20 и %2520 означают разные последовательности.

Особенно внимательно проверяйте %2F: закодированный слеш может быть частью данных сегмента. Превращение его в обычный / меняет структуру пути. В query знак + тоже может интерпретироваться приложением как пробел; перенос без пересборки помогает не изменить исходный смысл.

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

Часть после # сервер не получает

Фрагмент #install используется браузером и не входит в HTTP-запрос к серверу перенаправлений. Сервер не может выбрать правило по невидимому ему фрагменту.

При перенаправлении браузер обычно наследует исходный фрагмент, если новый адрес не задаёт другой. Но элемент с таким идентификатором должен существовать на целевой странице; сохранённый # сам по себе не гарантирует прокрутку к нужному разделу.

Перейти к настройке

Примените эти принципы на своей платформе:

Планируете такие перенаправления?

HTTPS включён, стоимость — 500 ₽ за домен в год.

Redirect301

Узнать о запуске Redirect301

Оставьте email, чтобы получить уведомление об открытии доступа.