Редирект с без на с: 301 редирект со слешем и без него в конце URL

Как правильно перенаправить домен с www или без него

Веб-разработка

Правильные перенаправления очень важны. Отказ от их использования будет означать, что поисковые системы, такие как Google, либо увидят ваш сайт дважды, либо не увидят его вообще, что может значительно снизить ваш рейтинг в поисковых системах.

Перенаправления — это то, что происходит, когда вы вводите адрес одного веб-сайта, и, прежде чем вы это узнаете, в адресной строке появляется другой адрес этого сайта. Каждый раз, когда вы нажимаете короткую ссылку в Twitter или Facebook, вы вводите www там, где он не нужен, или не вводите www там, где он нужен, или просто переходите с одной страницы на другую, используя редирект.

Для SEO это чрезвычайно важно, так как Google может наказать вас за публикацию одного и того же контента на нескольких веб-сайтах, и, если это не будет сделано должным образом, перенаправление с www будет фактически выглядеть для Google, как если бы у вас было 2 веб-сайта, один с www и один без .

Однако не бойтесь, если вы используете веб-хост на базе Linux (или любой хост, использующий веб-сервер Apache), исправить это несложно.

Шаг 1:

Выясните, хотите ли вы, чтобы адрес вашего веб-сайта отображался с www или без него.

Посетители по-прежнему смогут использовать оба варианта, но вы хотите остановиться на 1 для целей SEO. С технической точки зрения не имеет значения, что вы выберете, только то, что вы выберете один. Если у вас есть печатный материал и/или много ссылок, так или иначе использующих его, остановитесь на этом.

Шаг 2:

Откройте файл .htaccess в корне (верхняя папка вашего сайта, где находится ваш файл индекса) или создайте файл .htaccess , если он еще не существует.

9www\.ваш-домен\.com RewriteRule (.*) http://your-domain.com/$1 [R=301,L]

Язык кода: JavaScript (javascript)

Обратите внимание на обратную косую черту «» перед точкой (точками) 2-го числа строку каждого блока кода. Это очень важно, и без этого ваш редирект не будет работать.

Как это работает? Он использует модуль Apache под названием mod_rewrite, который сначала вызывается с помощью строки «RewriteEngine On». Затем он ищет условие, в котором доменное имя указано как указано во 2-й строке. Наконец, он отправляет пользователя в новый домен, а затем на любую страницу, которую он пытался получить ($1 — это что-то после косой черты, следующей за доменным именем в URL-адресе). Это также делает его постоянным перенаправлением с R = 301 и сообщает серверу, что это последнее правило для обработки в его цепочке с L.

Шаг 4:

Сохраните файл и протестируйте его, зайдя на свой веб-сайт с www и без него, убедившись, что вы видите желаемое поведение.

Шаг 5:

Протестируйте его с помощью сайта, такого как pearanalytics, который сообщит вам, если он не перенаправляется правильно.

Перенаправление с www на домен без www в Heroku

Содержание

  • Перенаправление с www на не-www (без HTTPS)
  • Перенаправление с www на не-www (с HTTPS)
  • Перенаправить HTTP на HTTPS

Эта статья содержит список наиболее распространенных сценариев перенаправления для приложения, размещенного на Heroku, а также некоторые решения для каждого сценария.

В этой статье содержится информация о перенаправлениях и HTTPS. Если вы не знакомы с этой темой, вы можете сначала посмотреть, как перенаправления работают с HTTPS.

Перенаправление с www на не-www (без HTTPS)

Если ваше приложение использует HTTPS, проверьте раздел перенаправления с www на не-www с HTTPS.

В этом сценарии у вас есть приложение, размещенное на Heroku, с настроенным личным доменом (например,

example.com ). Вы хотите перенаправить версию с www ( www.example.com ) на то же приложение Heroku (или наоборот). Приложение не использует HTTPS .

В этом случае самым простым решением является использование нашей службы перенаправления для перенаправления http://www.example.com на http://example.com .

Для обработки перенаправления с помощью перенаправителя
  1. Перейдите в редактор записей и добавьте запись URL.

    • Добавьте поддомен перенаправления в поле Имя .
    • Добавьте URL-адрес целевого домена в поле URL-адрес .

    Например, чтобы перенаправить http://www.example.com на http://example.com :

    • Добавить www как
      Имя
    • Добавить http://example.com как URL-адрес
  2. Вот и все. Убедитесь, что перенаправление работает правильно.

В качестве альтернативы вы можете указать версию сайта с www и без www на Heroku и обрабатывать перенаправление на уровне приложения.

Для обработки перенаправления на Heroku
  1. Добавьте оба имени хоста в приложение Heroku:

    • $ домены heroku: добавить example.com
    • $ домены heroku: добавить www.example.com
  2. Перейдите в редактор записей и добавьте две записи DNS, по одной для каждого имени хоста, указывающие на конечную точку Heroku. Предполагая, что конечная точка Heroku для приложения — awesome-application.herokuapp.com

    :

    • Добавьте запись ALIAS для точки example.com в Heroku. Оставьте Name записи пустым и установите Content в конечную точку приложения awesome-application.herokuapp.com
    • Добавьте запись CNAME для точки www.example.com в Heroku. Имя записи — www , а поле Content — конечная точка приложения awesome-application.herokuapp.com
  3. В вашем приложении перехватить входящий запрос. Если хост запроса не является каноническим, перенаправьте запрос на канонический домен. Способ выполнения перенаправления зависит от языка программирования и/или среды разработки вашего приложения.

Перенаправление с www на не-www (с HTTPS)

В этом сценарии у вас есть приложение, размещенное на Heroku, с настроенным личным доменом (например, example.

com ). Вы хотите перенаправить версию с www ( www.example.com ) на то же приложение Heroku (или наоборот). Приложение также использует HTTPS .

В этом случае вы не можете использовать нашу службу перенаправления. Наилучшей стратегией является обработка перенаправления на уровне приложения с использованием сертификата, который охватывает имена хостов как с www, так и без www.

Для перенаправления с использованием HTTPS необходимо иметь сертификат, который распространяется как на имена хостов с www, так и без www (корневой домен). Вы можете приобрести сертификат с одним именем для www или групповые сертификаты для * , чтобы покрыть корневой домен тем же сертификатом.

Для обработки перенаправления в Heroku
Для Heroku SSL
  1. Добавьте оба имени хоста в приложение Heroku:

    • $ домены heroku: добавить example.com
    • $ домены heroku: добавить www. example.com
  2. Закажите сертификат SSL и добавьте его в Heroku(https://devcenter.heroku.com/articles/ssl):

    • $ сертификаты heroku: добавить server.crt server.key
  3. Перейдите в редактор записей и две записи DNS, по одной для каждого имени хоста, указывающие на конечную точку SSL Heroku :

    • Добавьте запись ALIAS для точки example.com в Heroku. Оставьте поле Name записи пустым и установите в поле Content конечную точку SSL example.com.herokudns.com .
    • Добавьте запись CNAME для точки www.example.com в Heroku. Имя записи — www , а поле Content
      — конечная точка SSL www.example.com.herokudns.com
  4. В вашем приложении перехватить входящий запрос. Если хост запроса не является каноническим, перенаправьте запрос на канонический домен. Способ выполнения перенаправления зависит от языка программирования и/или среды разработки вашего приложения.

Для конечной точки SSL Heroku (устаревшая версия)
  1. Добавьте оба имени хоста в приложение Heroku:

    • $ домены heroku: добавить example.com
    • $ домены heroku: добавить www.example.com
  2. Включить конечную точку SSL Heroku. Heroku предоставит вам конкретную конечную точку SSL, аналогичную зашифрованному-приложению.herokussl.com .

  3. Закажите сертификат SSL и установите его на Heroku.

  4. Перейдите в редактор записей и две записи DNS, по одной для каждого имени хоста, указывающие на конечную точку SSL Heroku :

    • Добавьте запись ALIAS для точки example.com в Heroku. Оставьте Имя записи пустым и задайте в поле Содержимое конечную точку SSL зашифрованное-приложение. herokussl.com
    • Добавьте запись CNAME для точки www.example.com в Heroku. Имя записи — это www , а поле Content — это конечная точка SSL crypted-application.herokussl.com
  5. В вашем приложении перехватить входящий запрос. Если хост запроса не является каноническим, перенаправьте запрос на канонический домен. Способ выполнения перенаправления зависит от языка программирования и/или среды разработки вашего приложения.

Перенаправить HTTP на HTTPS

В этом сценарии у вас есть приложение, размещенное на Heroku, с настроенным личным доменом (например, example.com ). Вы хотите перенаправить HTTP-версию ( http://example.com ) на то же приложение Heroku под HTTPS ( https://example.com ).

В этом случае вы не можете использовать нашу службу перенаправления, поскольку невозможно указать один и тот же домен на уровне DNS для двух разных приложений на основе схемы HTTP/HTTPS. Лучшая стратегия — обрабатывать перенаправление на уровне приложения.

Для обработки перенаправления на Heroku
Для Heroku SSL
  1. Добавьте имена хостов в приложение Heroku:

    • $ домены heroku: добавить example.com
  2. Закажите сертификат SSL и установите его на Heroku. Heroku предоставит вам конкретную конечную точку SSL, аналогичную example.com.herokudns.com .

  3. Перейдите к редактору записей и DNS-записям для имени хоста, указывающего на конечную точку SSL Heroku :

    • Если имя хоста является корневым доменом (например, example.com ): добавьте запись ALIAS для точки example.com в Heroku. Оставьте поле Name записи пустым и установите в поле Content конечную точку SSL example.com.herokudns.com .
    • Если имя хоста является субдоменом (например, www. example.com ): добавьте запись CNAME для точки www.example.com в Heroku. Имя записи равно www и поле Content
      является конечной точкой SSL example.com.herokudns.com
  4. В вашем приложении перехватить входящий запрос. Если запрос исходит от HTTP, перенаправьте запрос на тот же домен, заменив HTTP на HTTPS. Способ выполнения перенаправления зависит от языка программирования и/или среды разработки вашего приложения.

Для конечной точки SSL Heroku (устаревшая версия)
  1. Добавьте имена хостов в приложение Heroku:

    • $ домены heroku: добавить example.com
  2. Закажите сертификат SSL и установите его на Heroku. Heroku предоставит вам конкретную конечную точку SSL, аналогичную зашифрованному-приложению.herokussl.com .

  3. Перейдите к редактору записей и DNS-записям для имени хоста, указывающего на конечную точку SSL Heroku :

    • Если имя хоста является корневым доменом (например, example.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *