Loading...

Справка CDN.com.tr

Перенаправление домена на другой домен (301)

Отправляйте запросы к домену на другой домен постоянным перенаправлением (301) на вкладке «Перенаправления» в правилах доставки. Путь и строка запроса сохраняются, а проверки сертификатов Auto SSL в /.well-known продолжают работать.

Перенаправление домена на другой домен (301)

Отправляйте запросы к домену на другой домен постоянным перенаправлением (301) на вкладке «Перенаправления» в правилах доставки. Путь и строка запроса сохраняются, а проверки сертификатов Auto SSL в /.well-known продолжают работать.

Связанные руководства

Почему браузеры запоминают 301, HTTPS на перенаправляемом домене, шаг с HSTS после перенаправления на HTTPS и правила, которые домен снова использует после удаления перенаправления.

Контекст

Редирект 301 или 302: какой использовать и какие ошибки остаются надолго

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

Читать руководство
После перенаправления на HTTPS

Включите HSTS для ваших хостов

Когда посетители с HTTP уже перенаправляются на HTTPS, HSTS позволяет вернувшимся браузерам пропускать HTTP-запрос.

Открыть тему
Сертификаты

Использование Auto SSL

Для перенаправления по HTTPS перенаправляемому домену нужен сертификат.

Открыть тему
Правила доставки

Настройка поведения кеша через Add Rule

Правила, которые обслуживают домен по протоколам, по которым он не перенаправляется.

Открыть тему

Путь в панели

  1. Панель управления
  2. Правила доставки
  3. Перенаправления
  4. Перенаправления доменов
  5. Добавить перенаправление

Предварительные требования

  • Перенаправляемый домен обслуживается правилом доставки этого аккаунта; для HTTPS у него также есть сертификат.
  • Целевой домен уже отвечает по протоколу, на который вы отправляете посетителей.
  • Роль владельца или редактора: наблюдатели видят перенаправления, но не могут их менять.

Модель принятия решений

Какие протоколы?

Для запросов по определяет, какие запросы перенаправляются. В новом перенаправлении сначала отмечены оба.

  • HTTP и HTTPS: перенести весь домен, например старый домен бренда, на новый.
  • Только HTTP, с https:// и тем же доменом в разделе Куда: отправлять посетителей с HTTP на HTTPS.

Какой протокол у цели?

Выбор в разделе Куда.

  • Тот же протокол, что у запроса: HTTP-запрос уходит на http:// цели, HTTPS-запрос — на https://.
  • https://: каждый перенаправляемый запрос уходит на HTTPS цели.
  • http://: каждый перенаправляемый запрос уходит на HTTP цели.

Перенаправление домена или мобильное перенаправление?

Оба находятся на вкладке Перенаправления.

  • Перенаправление домена: постоянное (301), для отмеченных вами доменов.
  • Мобильное перенаправление: временное (302), для посетителей с мобильных браузеров, на всех доменах аккаунта.

Пошаговое руководство

1

Добавьте перенаправление

Одно перенаправление может охватывать несколько доменов аккаунта.

  • Откройте Правила доставки, перейдите в Перенаправления и нажмите Добавить перенаправление.
  • Отметьте домены в разделе Перенаправлять эти домены и протоколы в разделе Для запросов по.
  • В разделе Куда выберите протокол и введите целевой домен, затем прочитайте строку Пример.
  • Нажмите Сохранить перенаправление.

Ожидаемый результат: Перенаправление появляется в таблице Перенаправления доменов со столбцами Откуда, Протоколы и Куда, а на странице появляется Опубликовано, как только edge начинает его применять.

2

Проверьте снаружи

Запросите старый URL с путём и строкой запроса по каждому перенаправляемому протоколу, а на домене с Auto SSL — ещё и путь в /.well-known/ по HTTP.

  • Запросите старый URL по HTTP и по HTTPS.
  • Запросите по HTTP путь в /.well-known/ на перенаправляемом домене (на домене с Auto SSL).

Ожидаемый результат: 301, у которого location — цель с тем же путём и строкой запроса; на запрос к /.well-known/ (на домене с Auto SSL) приходит ответ без перенаправления на цель.

cdnctl equivalent
curl -s -o /dev/null -D - 'http://old.example.com/blog/post?id=7' | grep -iE '^(HTTP|location)'
curl -s -o /dev/null -D - 'https://old.example.com/blog/post?id=7' | grep -iE '^(HTTP|location)'
curl -s -o /dev/null -w '%{http_code} %{redirect_url}\n' http://old.example.com/.well-known/acme-challenge/test
3

Измените или удалите перенаправление

Перенаправление действует, пока вы его не удалите.

  • Нажмите Изменить в строке перенаправления, чтобы поменять его домены, протоколы или цель, затем Сохранить перенаправление.
  • Нажмите Удалить, затем Удалить перенаправление для подтверждения.

Ожидаемый результат: После удаления домены снова обслуживаются своими правилами, а на странице появляется Опубликовано, как только edge применяет изменение.

Проверка

  • curl -s -o /dev/null -D - 'http://old.example.com/blog/post?id=7' | grep -iE '^(HTTP|location)' → 301, location: https://new.example.com/blog/post?id=7 (при https:// в разделе Куда)
  • curl -s -o /dev/null -D - 'https://old.example.com/blog/post?id=7' | grep -iE '^(HTTP|location)' → 301, location: https://new.example.com/blog/post?id=7
  • curl -s -o /dev/null -w '%{http_code} %{redirect_url}\n' http://old.example.com/.well-known/acme-challenge/test → без перенаправления на цель (на домене с Auto SSL)

Сценарии использования

Бренд переезжает с old.example.com на new.example.com или сайт переходит на один адрес (www.example.com вместо example.com, HTTPS вместо HTTP), и каждая старая ссылка должна вести на ту же страницу по новому адресу.

Краткий порядок действий

  1. Откройте Правила доставки аккаунта и перейдите на вкладку Перенаправления.
  2. В карточке Перенаправления доменов нажмите Добавить перенаправление.
  3. В разделе Перенаправлять эти домены отметьте домены, которые нужно перенаправить; в разделе Для запросов по отметьте HTTP, HTTPS или оба.
  4. В разделе Куда выберите Тот же протокол, что у запроса, https:// или http:// и введите целевой домен без пути, например new.example.com. Строка Пример показывает, куда уйдёт /blog/post?id=7.
  5. Нажмите Сохранить перенаправление, дождитесь, пока на странице появится Опубликовано, и проверьте перенаправление с помощью curl.

Проверки

  • Ответ — постоянное перенаправление (301), и его Location сохраняет путь и строку запроса: /blog/post?id=7 на старом домене ведёт на /blog/post?id=7 на целевом.
  • На домене, сертификат которого выпущен через Auto SSL, проверки сертификатов в /.well-known/ продолжают работать: по HTTP на эти запросы отвечает правило проверки сертификатов домена, а не перенаправление.
  • Перенаправление работает там, где edge обслуживает домен: для HTTP домен указан в правиле доставки; для HTTPS он указан в HTTPS-правиле и у домена есть сертификат. Если чего-то из этого нет, редактор сообщает, что перенаправление там не действует.
  • Пока перенаправление включено, остальные правила домена не применяются по перенаправляемым протоколам, и редактор показывает, сколько их. После удаления перенаправления домен снова обслуживается своими правилами.
  • Пока включена оптимизация изображений для всего аккаунта, запросы .jpg, .jpeg и .png к перенаправляемому домену оптимизируются и отдаются, а не перенаправляются; строка перенаправления в таблице Перенаправления доменов и редактор указывают это для каждого домена.
  • У каждого домена одно перенаправление на протокол: редактор не принимает второе перенаправление для домена, который по тому же протоколу уже охватывает другое перенаправление.
  • Редактор отклоняет перенаправление, которое отправляло бы домен на самого себя по тому же протоколу. Перенаправление http://www.example.com на https://www.example.com — не цикл, и редактор его принимает.

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

Как отправить посетителей с HTTP на HTTPS того же домена?

Добавьте перенаправление для этого домена, в разделе Для запросов по отметьте только HTTP, в разделе Куда выберите https:// и введите тот же домен. Тогда HTTP-запросы получают 301 на HTTPS-адрес с тем же путём и строкой запроса, а HTTPS-запросы, как и раньше, обслуживаются правилами домена. Убедитесь, что домен уже работает по HTTPS с сертификатом.

Нужно ли перенаправлять example.com и www.example.com отдельно?

Домены сопоставляются в том виде, в каком они написаны, поэтому отметьте каждую обслуживаемую форму, которая должна вести на цель: если и example.com, и www.example.com переезжают на new.example.com, отметьте оба. Чтобы оставить один адрес www.example.com, отметьте только example.com.

Почему редактор сообщает, что перенаправление не действует?

Edge перенаправляет домен только там, где его обслуживает. Для HTTP домен должен быть указан в правиле доставки; для HTTPS он должен быть указан в HTTPS-правиле, и домену нужен сертификат. Сначала добавьте домен в правило или завершите выпуск его сертификата.

Что означают примечания под перенаправлением в таблице?

Каждое примечание показывает, где перенаправление не работает так, как написано. Не используется: более раннее перенаправление уже охватывает этот домен по этому протоколу; измените или удалите одно из двух. Цель без протокола оставляет браузеры на том же домене: нажмите Изменить, проверьте протокол в разделе Куда и нажмите Сохранить перенаправление. Домен без правила или без сертификата для протокола по этому протоколу не перенаправляется; добавьте домен в правило или завершите выпуск его сертификата. Пока включена оптимизация изображений для всего аккаунта, запросы .jpg, .jpeg и .png оптимизируются, а не перенаправляются.

Я удалил перенаправление, но браузер всё ещё уходит на цель.

Браузеры запоминают постоянные (301) перенаправления. Проверьте через curl или в приватном окне: после удаления домен снова обслуживается своими правилами.

А как быть с посетителями из мобильных браузеров?

Карточка Мобильное перенаправление на той же вкладке отправляет посетителей с мобильных браузеров на другой домен временным перенаправлением (302) на всех доменах этого аккаунта и сохраняет путь и строку запроса. Пока оно включено, мобильные браузеры сначала получают этот 302. Домен мобильного сайта должен быть таким, который этот аккаунт не обслуживает.