Www редирект на без www: Как настроить переадресацию на домен БЕЗ «www»

Как сделать редирект (перенаправить) с www на без www (и наоборот) в htaccess

Перед запуском нового веб-сайта, одним из решений, которые вы должны будете принять, является выбор между форматом с www и без www URL и редирект www на без www или наоборот.
Например, www-версия вашего домена может выглядеть примерно так:

https://www.mydomain.com

С другой стороны, версия без www обычно принимает этот формат:

https://mydomain.com или просто mydomain.com

Технически говоря-особенно с точки зрения SEO — эти два URL-адреса не совпадают.

Независимо от формата URL, который вы выберите, важно создать правила перезаписи на вашем веб-сервере, которые перенаправляют запросы www на не-www, или, возможно, перенаправляют не-www на www. Это справедливо независимо от того, работает ли ваш сайт на выделенном сервере или сервере apache.

Www или без www: что выбрать?

Правда в том, что на самом деле это не имеет значения и не так важно, как, например, выбор между http или https. Все это сводится к вашим личным предпочтениям.
Не-www URL-адреса короче по сравнению с их www-аналогом. Кроме этого, больше разницы нет.
Ни один из вариантов не имеет преимущества SEO над другим, и не имеет более быстрого времени загрузки, чем другой.
Важно указать, какой формат вы предпочитаете, а затем перенаправить посетителей на выбранный формат URL.

Читайте также: Как настроить 301 редирект на сайте WordPress?

Редирект в htaccess

Чтобы отредактировать файл htaccess, вам нужны средства для доступа к нему. Самый простой способ доступа и редактирования .htaccess — через cPanel. Большинство планов хостинга серверов поставляются с cPanel.

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

Во-первых, войдите в Панель управления cPanel.

После входа в систему щелкните файловый менеджер.

Затем прокрутите вниз до раздела public_html и дважды щелкните по нему.

После двойного щелчка, вы увидите .htaccess.

Если вы не можете найти .htaccess файл, скорее всего, что он скрыт. yourdomain.com/$1 [L, R=301]

Вывод

Чтобы избежать проблем с дублированием контента и, следовательно, низкой производительности SEO, всегда важно указать, хотите ли вы использовать www URL или версию без www. Когда вы выбрали, что лучше всего подходит для вашего бизнеса, следующая задача-принудительно перенаправить (сделать редирект) на выбранную версию.

Как в Apache реализуется редирект c www на без www и с протокола HTTP на HTTPS

Все более широкое внедрение протокола HTTPS поставило несколько новых задач перед разработчиками и системными администраторами. Таких, как необходимость редиректа с http на https.

  • Введение
  • Конфигурация Apache
  • Как это работает?
  • Замечания
  • Заключение

Ниже я покажу, как реализовать редирект с www на без-www (или наоборот) и с http на https, используя конфигурацию сервера Apache. https://www.%1%{REQUEST_URI} [L,NE,R=301]

RewriteRule – центральный элемент перенаправления. С помощью этой строки мы предписываем Apache перенаправить любой запрос на новый URL, который состоит из:

  • https: // WWW;
  • %1: Ссылка на без-WWW часть хоста;
  • %{REQUEST_URL}: URL-запрос, без имени хоста.

Все эти маркеры соединены друг с другом, и представляют собой конечный URL перенаправления. В конце мы добавляем три флага:

  • NE — чтобы не выйти из специальных символов;
  • R=301 — использовать HTTP статус 301 редиректа;
  • L — прекратить обработку других правил, и немедленно перенаправить.

В моём примере htaccess редиректа http на https используется дополнительная строка RewriteCond, чтобы извлечь имя хоста, а не подставлять имя в правило. Если чувствуете, что для вас это — потеря производительности, то можете встроить хост непосредственно в правило:

RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www.  https://example.com%{REQUEST_URI} [L,NE,R=301]

В данной статье представлена простая конфигурация перенаправления WWW и не-HTTPS запросов для домена сайта. Таким образом можно избежать проблем с дублированием контента в поисковых системах.

ВЛВиктория Лебедеваавтор-переводчик статьи «Apache redirect www to non-www and HTTP to HTTPS»

Система доменных имен

— Как перенаправить www на не-www в Route53?

спросил

Изменено 11 месяцев назад

Просмотрено 65 тысяч раз

Я размещаю свой сайт по адресу domain.com .

Мои записи DNS в Route53 следующие:

 домен.com A xxx.xxx.xxx.xxx 300
domain.com NS stuff.awsdns-47.org 172800
domain.com SOA stuff.awsdns-47.org 900
 

Я хотел бы перенаправить трафик с www. domain.com на domain.com , так как в настоящее время это просто возвращает 404. Этот вопрос на SO предложил запись PTR , и я добавил, что:

 www .domain.com PTR domain.com 300
 

, но это не сработало. Что я должен делать?

  • система доменных имен
  • перенаправление
  • amazon-route53

3

PTR предназначен для настройки обратного просмотра IP-адресов, и вам не о чем беспокоиться. Убери это.

Вам нужен CNAME для www:

 www.domain.com CNAME domain.com 300
 

3

Вы также можете установить Псевдоним для WWW на запись domain.com:

 www.domain.com A алиас domain.com 300
 

, поэтому ваши окончательные записи DNS будут следующими:

 domain.com A xxx.xxx.xxx.xxx 300
domain.com NS stuff.awsdns-47.org 172800
domain.com SOA stuff. awsdns-47.org 900
www.domain.com ALIAS domain.com (идентификатор размещенной зоны)
 

3

Мне удалось настроить это, используя дополнительное ведро S3.

Я хочу, чтобы мой веб-сайт был доступен без www example.com . В моем случае example.com настроен с размещенной зоной маршрута 53, корзиной s3 и облачным дистрибутивом с пользовательским сертификатом ssl.

Я хочу, чтобы www.example.com перенаправлял на example.com . Для этого я настроил новую корзину s3 для www.example.com . Я сделал его общедоступным и настроил хостинг статического веб-сайта для перенаправления всех запросов. Целевой сегмент или домен:

example.com . Поскольку у меня есть сертификат ssl, настроенный на example.com , я установил протокол https.

На маршруте 53 в зоне хостинга mydomain.com я создал новую запись A для www. example.com с псевдонимом, указывающим на новый веб-сайт корзины www s3.

Теперь все запросы на www.example.com перенаправляются на https://example.com .

Надеюсь, это поможет.

3 9/(.*) https://example.com/$1 постоянный; } server { # перенаправить www на обычный домен слушать 443 ssl ; имя_сервера www.example.com; включить /etc/nginx/myprojname/include/ssl; вернуть 301 https://example.com$request_uri; } сервер { слушать 443 ssl ; включить /etc/nginx/myprojname/include/ssl; имя_сервера пример.com; включить /etc/nginx/snippets/nginx_common_location_443; расположение / { прокси_пароль http://127.0.0.1:3000/; } включить /etc/nginx/myprojname/include/custom_server_include; }

, где мой фактический сервер работает и прослушивает порт 3000 … это также завершает работу моего TLS, однако просто удалите упоминание о ssl . .. в этих включенных файлах спрятаны мои настройки nginx для усиления защиты.

Как упоминалось выше, это невозможно со стандартным DNS.

Вот решение, которое я использовал:

  • Настройка S3 со статическим перенаправлением веб-сайта на ваш домен без www
  • Создайте дистрибутив Cloudfront для своего S3 (используя домен S3, а не тот, который предлагается в автозаполнении AWS)
  • Добавить псевдоним записи Route 53 A в базу раздачи CloudFront

2

Изучив множество онлайн-руководств, я обнаружил, что это очень просто без необходимости использования каких-либо служб, кроме Route53.

Это пример конфигурации для домена с www ,

Это пример конфигурации для того же домена без www ,

Таким образом, вы должны снова скопировать ту же конфигурацию, включая IP-адрес, с www.domain.com на domain. com .

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

1

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

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя адрес электронной почты и пароль

Опубликовать как гость

Электронная почта

Обязательно, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания, политикой конфиденциальности и политикой использования файлов cookie

.

Исправление перенаправления без www — WP Rocket Knowledge Base

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

⚠️  После применения любого из следующих решений удалите старые файлы конфигурации и кэша, следуя этому руководству.

В настоящей статье
  • Спросите своего хоста
  • Правила страницы Cloudflare
  • Вспомогательный плагин: без www → www
  • Вспомогательный плагин: www → без www

Спросите у хозяина

Перенаправления, выполненные на уровне сервера, будут быстрее, чем в файле htaccess. Лучшее решение — попросить своего хоста настроить его для вас в конфигурации сервера.

Правила страницы Cloudflare

Если вы используете Cloudflare и вам нравится их функция «Правила страницы», вы можете использовать их для перенаправления (наша служба поддержки не может вам в этом помочь).

Перенаправление без www → www

Следующий вспомогательный плагин добавит правильное правило перенаправления с не-www на www-версию вашего URL, в ваш .htaccess файл.

📥  Скачать (.zip): WP Rocket | Перенаправление без www на www
Разработчики: код этого плагина можно найти на GitHub.

Перед использованием требуется ручное редактирование кода!
Вам придется вручную отредактировать 2 строки кода:
Замените example\.com на свой домен. Сохраняйте обратную косую черту \

!
Замените http://www.example.com на URL вашего сайта WordPress. Примените протокол, подходящий для вашего сайта: 9(.*)$ http://www.example.com/$1 [L,R=301]

Перенаправление www → без www

Если вам нужно противоположное правило (с www на без www), используйте этот плагин:

📥  Скачать (.zip): WP Rocket | Перенаправление с www на без www
Разработчики: код этого плагина можно найти на GitHub.

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

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