Htaccess переадресация с www на без www: Справочный центр | Перенаправление с www на без www

Содержание

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

Проблема

Поисковые системы считают сайты http://yoursite.ru/ и http://www.yoursite.ru/ абсолютно разными. Отсюда следует, что если часть сайтов будет ссылаться на http://yoursite.ru/, а другая часть на http://www.yoursite.ru/, то ссылочная популярность Вашего сайта делится между разными доменами, что не есть хорошо. С этим надо что-то делать.

Решение проблемы

Используя 301 редирект, который автоматически будет переадресовывать всех, кто заходит по ссылке, начинающейся с http://yoursite.ru/ на http://www.yoursite.ru/, Вы сможете дать поисковым системам понять, что эти 2 домена являются как бы одним.Таким образом, ссылочная популярность больше не будет распределяться между двумя доменами, а будет считаться общей, что позволит улучшить позиции сайта в поисковых системах.

Установка 301 редиректа домена без WWW на домен с WWW на Apache сервере

  1. Прежде всего, убедитесь в том, что на Вашем Apache сервере активен модуль ModRewrite. В основном он активен по умолчанию, но убедиться лишний раз не помешает во избежание проблем в дальнейшем. Если же данный модуль неактивен, то просто свяжитесь со службой поддержки своего хостинг-провайдера и объясните им ситуацию. Проблем при активации данного модуля быть не должно.

    Если же у Вас есть доступ к файлу httpd.conf, то Вы сможете активировать данный модуль собственноручно. Для этого откройте данный файл для редактирования (не забудьте сперва сделать его резервную копию) и раскомментируйте следующую строку:

    LoadModule rewrite_module modules/mod_rewrite.so
    

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

  2. Скачайте на свой компьютер с сервера файл .htaccess

  3. Сделайте резервную копию данного файла и сохраните ее, по возможности, в другом месте на компьютере.

  4. Откройте оригинальный файл .htaccess для редактирования, например, в блокноте. (.*)$ http://example.ru/$1 [R=301,L]

  5. Сохраните изменения в файле и загрузите его на сервер.

  6. После этого откройте браузер и в адресной строке введите адрес своего сайта без WWW, например http://example.ru/ и зайдите на сайт. Если Вы все сделали правильно, то в адресной строке браузера автоматически произойдет изменение — адрес сайта с введенного Вами сменится на http://www.example.ru/.

  7. Но чтобы на 100% быть уверенным в успешности проделанного я Вам советую зайти сюда, ввести адрес сайта без WWW. Данный инструмент покажет Вам, работает ли настроенный Вами 301 редирект или нет. Если Вы все сделали правильно, то должны будете увидеть следующее (особое внимание уделите выделенным жирным участкам кода):

№ 1 Server Response: http://example.ru

HTTP Status Code: HTTP/1.1 301 Moved Permanently

Date: Wed, 14 Mar 2007 22:49:28 GMT

Server: Apache/1. 3.27 (Unix) PHP/4.4.1 FrontPage/5.0.2.2510 mod_ssl/2.8.14 OpenSSL/0.9.6b

Location: http://www.example.ru/

Connection: close

Content-Type: text/html; charset=iso-8859-1

Redirect Target: http://www.example.ru/

№ 2 Server Response: http://www.example.ru/

HTTP Status Code: HTTP/1.1 200 OK

Date: Wed, 14 Mar 2007 22:49:28 GMT

Server: Apache/1.3.27 (Unix) PHP/4.4.1 FrontPage/5.0.2.2510 mod_ssl/2.8.14 OpenSSL/0.9.6b

Connection: close

Content-Type: text/html

  1. Если у Вас в ключевых (выделенных жирным) местах все сошлось, то все работает!

Если же Вы проделали указанные выше шаги и не добились требуемого результата, то воспользуйтесь резервной копией файла . htaccess – проделайте с ней еще раз все указанные выше шаги, но будьте предельно внимательны. Выверяйте каждый шаг.

Если же и сейчас ничего не получилось, то свяжитесь со службой поддержки своего хостинг-провайдера, объясните им ситуацию и пусть они примут соответствующие меры, нацеленные на решение Вашей проблемы.

источник

301 редирект домена без WWW на домен с WWW или Как сохранить ссылочную популярность сайта с помощью 301 редиректа

Содержание статьи:

    • Проблема
    • Решение проблемы
    • Как активировать 301 редирект
    • Установка 301 редиректа домена без WWW на домен с WWW на Apache сервере
    • Установка 301 редиректа домена без WWW на домен с WWW на Microsoft IIS сервере

Автор: StepForth
Перевод: Всеволод Козлов

Проблема

Поисковые системы считают сайты http://yoursite. ru/ и http://www.yoursite.ru/ абсолютно разными. Отсюда следует, что если часть сайтов будет ссылаться на http://yoursite.ru/, а другая часть на http://www.yoursite.ru/, то ссылочная популярность Вашего сайта делится между разными доменами, что не есть хорошо. С этим надо что-то делать.

Решение проблемы

Используя 301 редирект, который автоматически будет переадресовывать всех, кто заходит по ссылке, начинающейся с http://yoursite.ru/ на http://www.yoursite.ru/, Вы сможете дать поисковым системам понять, что эти 2 домена являются как бы одним.Таким образом, ссылочная популярность больше не будет распределяться между двумя доменами, а будет считаться общей, что позволит улучшить позиции сайта в поисковых системах.

Как активировать 301 редирект

Чтобы 301 редирект заработал, Вам необходимо подготовить сервер. Современные серверы работают либо с ПО Microsoft, либо Apache (Linux, Unix).

Чтобы приступить к настройке 301 редиректа, Вам необходимо узнать, какой у Вас сервер (Microsoft или Apache). После того, как Вы это разузнали, приступайте читать дальше, выбрав нужный раздел данного руководства.

Краткое оглавление руководства:

  • Установка 301 редиректа домена без WWW на домен с WWW на Apache сервере
  • Установка 301 редиректа домена без WWW на домен с WWW на Microsoft IIS сервере

Так же мы рекомендуем руководство: 301 редирект: Переадресовываем всех со старого домена на новый, полностью сохраняя ссылочную структуру сайта.

Установка 301 редиректа домена без WWW на домен с WWW на Apache сервере

1. Прежде всего, убедитесь в том, что на Вашем Apache сервере активен модуль ModRewrite. В основном он активен по умолчанию, но убедиться лишний раз не помешает во избежание проблем в дальнейшем. Если же данный модуль неактивен, то просто свяжитесь со службой поддержки своего хостинг-провайдера и объясните им ситуацию. Проблем при активации данного модуля быть не должно.

Если же у Вас есть доступ к файлу httpd.conf, то Вы сможете активировать данный модуль собственноручно. Для этого откройте данный файл для редактирования (не забудьте сперва сделать его резервную копию) и раскомментируйте следующую строку:

LoadModule rewrite_module modules/mod_rewrite.so

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

2. Скачайте на свой компьютер с сервера файл .htaccess

3. Сделайте резервную копию данного файла и сохраните ее, по возможности, в другом месте на компьютере.

4. Откройте оригинальный файл .htaccess для редактирования, например, в блокноте.

5. Теперь добавьте в него следующие строки, но будьте внимательны и не забудьте заменить example.ru на адрес своего сайта

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example. (.*)$ http://example.ru/$1 [R=301,L]

6. Сохраните изменения в файле и загрузите его на сервер.

7. После этого откройте браузер и в адресной строке введите адрес своего сайта без WWW, например http://example.ru/ и зайдите на сайт. Если Вы все сделали правильно, то в адресной строке браузера автоматически произойдет изменение — адрес сайта с введенного Вами сменится на http://www.example.ru/.

8. Но чтобы на 100% быть уверенным в успешности проделанного я Вам советую зайти сюда, ввести адрес сайта без WWW. Данный инструмент покажет Вам, работает ли настроенный Вами 301 редирект или нет. Если Вы все сделали правильно, то должны будете увидеть следующее (особое внимание уделите выделенным жирным участкам кода):

#1 Server Response: http://example.ru
HTTP Status Code: HTTP/1.1 301 Moved Permanently

Date: Wed, 14 Mar 2007 22:49:28 GMT
Server: Apache/1.3.27 (Unix) PHP/4.4.1 FrontPage/5.0.2.2510 mod_ssl/2. 8.14 OpenSSL/0.9.6b
Location: http://www.example.ru/
Connection: close
Content-Type: text/html; charset=iso-8859-1
Redirect Target: http://www.example.ru/

#2 Server Response: http://www.example.ru/
HTTP Status Code: HTTP/1.1 200 OK

Date: Wed, 14 Mar 2007 22:49:28 GMT
Server: Apache/1.3.27 (Unix) PHP/4.4.1 FrontPage/5.0.2.2510 mod_ssl/2.8.14 OpenSSL/0.9.6b
Connection: close
Content-Type: text/html

9. Если у Вас в ключевых (выделенных жирным) местах все сошлось, то все работает!

Если же Вы проделали указанные выше шаги и не добились требуемого результата, то воспользуйтесь резервной копией файла .htaccess – проделайте с ней еще раз все указанные выше шаги, но будьте предельно внимательны. Выверяйте каждый шаг.

Если же и сейчас ничего не получилось, то свяжитесь со службой поддержки своего хостинг-провайдера, объясните им ситуацию и пусть они примут соответствующие меры, нацеленные на решение Вашей проблемы.

Установка 301 редиректа домена без WWW на домен с WWW на Microsoft IIS сервере

Microsoft сервера не имеют файла .htaccess, поэтому Вам будет проще связаться со службой поддержки своего хостинг-провайдера и попросить их решить Вашу проблему. Если же служба поддержки некомпетентна в данном вопросе, то ниже приводится пошаговая инструкция, которую Вы можете им предоставить:

1. Используя Internet Services Manager

, создайте новый веб-сайт с уникальным IP, используя http://example.ru или, как альтернатива, можно избежать использования уникального IP, используя виртуальный веб-сайт www.example.ru

2. Теперь проверьте заголовки, отдаваемые сервером для каждого из сайтов, используя данный инструмент. Сервер должен отдавать 200 OK для обоих сайтов.

3. Добавьте следующий код на главную страницу сайта http://example.ru:

< %@ Language=VBScript %>
< %
Response. Status="301 Moved Permanently"
Response.AddHeader "Location", http://www.example.ru
%>

ВНИМАТЕЛЬНО! Вносить какие-либо изменения в код нельзя, скопируйте и вставьте его в таком виде, как есть.

4. Чтобы убедиться в работоспособности 301 редиректа, зайдите на сайт

http://example.ru. Затем воспользуйтесь данным инструментом для сайта http://example.ru и убедитесь, что в результате проверки есть следующие данные: «HTTP Status Code: HTTP/1.1 301 Moved Permanently». Если Вы такое видите, то у Вас все получилось!

Источник: How to 301 Redirect Non-WWW to WWW URLs

Редирект для сайта на WordPress: через плагин или htaccess

Редиректы для сайта на CMS WordPress можно выполнить добавив записи в файл htaccess, ознакомится с чем можно в статье ниже.

  • Через плагин;
  • Через htaccess;
  • Как проповерить.

301 редирект для сайта на WordPress

Для этого переходим в административную панель сайта во вкладку «Плагины»-«Добавить новый», где в поиске вводим «redirection».

Устанавливаем появившийся плагин (автор John Gadley) и активируем его.

Переходим в настройки.

Соглашаемся с базовыми настройками.

Система проверит сайт и завершаем настройку.

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

Чтобы сделать редирект с одной страницы на другую потребуется перейти в «Редирект».

Далее «Добавляем новый».

Далее заполняем:

  • Исходный URL;
  • Целевой URL.

Все готово в списке появится.

Редирект с http на https для WordPress

Чтобы включить настройку потребуется перейти в вкладку «Сайт» и включить опцию:

Force a redirect from HTTP to HTTPS

С WWW на без WWW и наоборот

В этой же вкладке сайт необходимо поставить галочку у нужного пункта.

Важно! По умолчанию настройка не делает никаких изменений в этом плане.

Как сделать редирект через файл htaccess

Для того, чтобы перенаправить пользователя с одной страницы на другую требуется использовать следующую комбинацию:

Redirect 301 site. poddomen.domain.ru$ [NC]
RewriteRule (.*) http://site.ru/$1?region=poddomen [L,R=301,QSA]

Как проверить работу 301 редиректа?

Для этого можно использовать инструмент проверки ответа сервера Яндекса:

https://webmaster.yandex.ru/tools/server-response/

Здесь вводим адрес первой страницы и видим следующее:

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

301 редирект (переадресация) через .htaccess

В свое время у меня возникла задача сделать переадресацию на сайте, и пришлось перелопатить много источников, пока не нашел нужную информацию

Советы
Располагайте переадресации страниц в файле от частных к более глобальным (сверху вниз). Например: простая переадресация двух страниц стоит выше, чем глобальное правило редиректов с www на без www.

Избегайте последовательных редиректов (двух, трех и т.д.). Правила должны быть настроены так, что при возникновении редиректа он должен перенаправлять пользователя (робота) только один (!) раз.

— спецсимвол начала строки;
  • $ — спецсимвол конца строки;
  • ! — спецсимвол отрицания;
  • . — точка, заменяет любой символ, но только один;
  • () — группировка;
  • \ — «экранирующий» слеш, следующий символ после него считается обычным, а не спецсимволом;
  • # — начало текстового комментария в файле.
  • Модификаторы используются после обычных, спецсимволов или их групп и позволяют расширить возможности шаблонов для срабатывания правил.

    • ? — символ повторяется 0 или 1 раз.
    • + — повторяется от 1 до 65536 раз.
    • * — повторяется от 0 до 65536 раз.

    Флаги, задают доп. опции для используемого правила. Перечисляются в квадратных скобках через запятую, скажем [NC] или [R=301,L].

    • NC — флаг NoCase, отключающий проверку регистра символов при срабатывании правила.
    • R — флаг Redirect, производит процесс остановки изменения URL-адреса и возвращает результат. Чаще всего используется значение R=301, но возможны и другие для временных перенаправлений (302, MOVED TEMPORARY).
    • L — флаг Last, останавливает формирования URL-адреса и строка считается окончательной.

    Переадресация через .htaccess (301 редирект)

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

    Незаменим  он как в первоначальной настройке вашего сайта, так и при его обслуживании в будущем. Хоть для некоторых из ныне существующих движков CMS и существуют неплохие плагины для более понятной настройки переадресаций на сайте, но все же они доступны не для всех, поэтому стоит понимать и знать правила 301 редиректа, чтобы не было никаких осложнений при прописывании их самому.

    • Располагайте переадресации страниц в файле от частных к более глобальным (сверху вниз). Например: простая переадресация двух страниц стоит выше, чем глобальное правило редиректов с www на без www.
    • Избегайте последовательных редиректов (двух, трех и т.д.). Правила должны быть настроены так, что при возникновении редиректа он должен перенаправлять пользователя (робота) только один (!) раз. Каждое лишнее переадресация – это секунды драгоценного времени отдачи страницы, это нагрузка на сервер, это нечеткие команды для поисковых роботов.

    Содержание

    1. Правила переадресаций
    2. 301 редирект с одной страницы на другую
    3. 301 редирект с www на без www (главное зеркало – домен без www)
    4. 301 редирект с без www на www (главное зеркало – домен с www)
    5. 301 редирект со страниц со слешем на без слеша (весь сайт)
    6. 301 редирект со страниц без слеша на слеш (часто в CMS системах устанавливается автоматически)
    7. Один (а не два последовательных!) 301 редирект на без www и с слешем на конце адреса страницы
    8. Один (а не два последовательных!) 301 редирект на c www и со слешем на конце адреса страницы
    9. Один (а не два последовательных!) 301 редирект на c www и без слеша на конце адреса страницы
    10. Один (а не два последовательных!) 301 редирект на без www и без слеша на конце адреса страницы
    11. 301 редирект только адреса site. (.*)$ http://%{HTTP_HOST}/$1 [R=301,L]

      регулярное выражение — htaccess принудительно https и перенаправляет www на не-www, но без других поддоменов

      спросил

      Изменено 1 год, 2 месяца назад

      Просмотрено 24к раз

      Я знаю, что есть много похожих тем, но ни одна из них не соответствует моей конкретной проблеме. Вот что я пытаюсь сделать:

       (1) http://www.mydomain.com/ -> https://mydomain.com/
      (2) http://mydomain.com/ ->
      https://mydomain.com/ (3) https://www.mydomain.com -> https://mydomain.com/

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

       (4) http://sub.mydomain.com/ -> https://sub.mydomain.com/
       

      На данный момент мне интересно, возможно ли вообще создать один файл .htaccess, который делает все, что мне нужно, хотя я должен признать, что понимаю регулярные выражения, но я не совсем уберпро mod_rewrite.

      Вот решения, которые я уже пробовал:

      • Принудительно без www и https через htaccess
        • Вроде работает, но, кажется, создает цикл перенаправления
      • .htaccess перенаправить с www на без www с SSL/HTTPS
        • Подходит для (1) и (3), но не для (2)
      • htaccess принудительно с www на без www с учетом http или https
        • Перенаправляет на http://mydomain.com/ (без https) для (1)
        • Ничего не делает для (2)
        • Перенаправляет на http://mydomain.com/ (без https) для (3)

      Мой SSL-сертификат распространяется на поддомен www, поэтому я не ищу решение ошибки «ненадежное соединение», я знаю, что это невозможно.

      регулярное выражение apache .htaccess мод-переписать https

      Я обнаружил, что большинство предложений не учитывались, когда у вас было что-то вроде https://www.example.com и перенаправление на https://example.com.

      Для всех перестановок работало следующее: 9https://%1%{REQUEST_URI} [L,R=301,NE]

      Этот сценарий будет перенаправлять

      • http://domain.com
      • http://www.domain.com
      • https://www.domain.com

      до

      • https://domain.com

      с сохранением поддомена.

      Я обнаружил, что следующий ответ соответствует вашему требованию:

      www от до без www с https но без других субдоменов 9(.*)$ https://%1/$1 [R=301,L] RewriteCond %{HTTPS} !on RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

      Выполните все три (3) условия:

       (1) http://www. example.com$ [NC]
      Правило перезаписи (.*) http://www.example.com/$1 [R=301,L]
       9http%1://www.%{HTTP_HOST}%{REQUEST_URI} [NE,L,R]
       

      [Проверено]

      Это перенаправит

      http

      • http://example.com

      • http://www.example.com

      https

      • https://example.com

      • https://www.example.com

      4

      Попробуйте это, я использовал его на многих веб-сайтах, он отлично работает 9(.*) http://www.bewebdeveloper.com/$1 [QSA,L,R=301]

      Я протестировал все вышеперечисленные решения, но у меня не работает, я пытался удалить http:// и не буду перенаправлять, также удалил www, он хорошо перенаправляет, поэтому я запутался, особенно я запускаю все свои сайты под https://

      Итак, я объединил несколько кодов вместе и придумал идеальное решение как для http://, так и для https://, а также для www и без www. (.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L] 9www\.домен\.com [NC] Правило перезаписи (.*) http://www.domain.com/$1 [L,R=301]

      Это перенаправит ваш домен, который не запускается с WWW Это не перенаправление всех ваших поддоменов.

      Полезно.

      Я считаю, что верхний ответ успешно перенаправляет не-www на www (например: mysite.com -> www.mysite.com ), но не принимает во внимание субдомены с подстановочными знаками, что приводит к:

       random.mysite .com -> www.random.mysite.com
       

      Вот решение с/без HTTPS 9(.*)$ %{ENV:протокол}://www.mysite.com/$1 [L,R=301]

      * примечание: я не тестировал https, потому что в настоящее время у меня нет сертификата для тестирования, но если кто-то может проверить или оптимизировать то, что у меня есть, это было бы здорово.

      1

      Избегайте 301 и предпочитайте современные коды состояния ответа 303 или 307.

      Избегайте 301

      Хорошо подумайте, действительно ли вам нужна постоянная переадресация, обозначенная как [R=301] , потому что, если вы решите изменить ее позже, то предыдущие посетители страницы продолжат видеть страницу исходной переадресации. .

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

      Избегайте также 302

      В новой версии протокола HTTP (v1.1) добавлены два новых кода состояния ответа, которые можно использовать вместо 302. ПОЛУЧИТЬ.

    12. 307 Перенаправление URL, но с требованием сохранить исходный тип запроса.
    13. Вы по-прежнему можете использовать код 302 (непостоянная переадресация), хотя он считается неоднозначным. В любом случае, большинство браузеров реализуют 302 так же, как предписывает новый код 303 .

      1

      Если возможно, добавьте это в основной файл конфигурации Apache. Это более легкое решение, требующее меньше обработки.

       <Виртуальный хост 64.65.66.67>
              Имя сервера example. com
              Перенаправление постоянное / http://www.example.com/
      
      <Виртуальный хост 64.65.66.67>
         Администратор сервера [email protected]
         Имя сервера www.example.com
         DocumentRoot /var/www/example
         .
         .
         . так далее
       

      Итак, отдельный VirtualHost для «example.com» перехватывает эти запросы, а затем постоянно перенаправляет их на ваш основной VirtualHost . Таким образом, при каждом запросе не выполняется синтаксический анализ REGEX, и ваши клиентские браузеры будут кэшировать перенаправление, поэтому они никогда (или редко) не будут снова запрашивать «неправильный» URL-адрес, что сэкономит вам нагрузку на сервер. 9(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

      1

      Как легко перенаправить веб-сайты без www на www

      Веб-строительство Техническое обслуживание

      09 августа 2022 г.

      Merkys M.

      4min Read

      Как владелец веб-сайта, вы, возможно, задавались вопросом, является ли использование домена веб-сайта с www или без www просто вопросом предпочтений пользователя.

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

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

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

      Загрузить электронную книгу: Создайте свой первый веб-сайт за 9 летEasy Steps

      Зачем перенаправлять URL-адреса без www на www?

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

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

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

      Кроме того, поисковые системы считают https://www.yourdomain.com и http://yourdomain.com разными веб-сайтами. Поэтому они ранжируются отдельно и требуют отдельных стратегий SEO.

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

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

      Перенаправление URL-адресов без www на www

      Существует несколько способов перенаправления URL-адресов без www на www — через панель управления вашей учетной записи хостинга, сеть доставки контента (CDN) или программное обеспечение веб-сервера.

      Внимание! Прежде чем приступить к руководству, убедитесь, что у вас есть резервная копия файлов вашего веб-сайта. Таким образом, вы сможете восстановить сайт до предыдущей версии, если в процессе возникнет ошибка.

      hPanel

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

      Пользователи hPanel могут легко открывать и редактировать файл .htaccess . Вот как это сделать:

      1. Войдите в свою hPanel , прокрутите вниз до раздела Файлы и откройте Файловый менеджер .
      1. Перейдите в каталог public_html , щелкните правой кнопкой мыши файл .htaccess и выберите 9009(.*)$ http://www.yourdomain.com/$1 [L,R=301]
      1. Не забудьте заменить yourdomain. com на ваше фактическое доменное имя . Когда закончите, сохраните изменения.

      Это правило .htaccess теперь будет перенаправлять всех посетителей с версии вашего веб-сайта без www на версию с www.

      cPanel

      Пользователи cPanel могут перенаправлять URL-адреса без www на www с помощью настроек Redirect или редактирования Файл .htaccess . Если вы новичок, мы рекомендуем следовать первому методу:

      1. Получите доступ к cPanel , затем перейдите к Домены -> Перенаправления .
      1. В разделе введите выберите параметр постоянный (301) .
      2. На https?:// введите домен, который вы хотите перенаправить. Оставьте раздел пути (/) пустым.
      3. В поле Redirects to введите URL-адрес вашего веб-сайта www.
      4. Выберите Не перенаправлять www и снимите флажок Перенаправление подстановочных знаков .
      1. Нажмите кнопку Добавить .

      Если описанный выше метод не работает, вы можете установить перенаправление вручную, отредактировав файл .htaccess :

      1. На панели инструментов cPanel перейдите в Files -> File Manager .
      1. Найдите папку public_html и дважды щелкните ее. 9(.*)$ http://www.yourdomain.com/$1 [L,R=301]

      Важно! Не забудьте заменить yourdomain.com вашим настоящим доменным именем.

      1. Сохранить изменения

      Cloudflare

      Если вы планируете настроить CDN, например Cloudflare, для повышения скорости и производительности сайта, вы также сможете использовать его для перенаправления не-www на www домен.

      Совет эксперта

      Прежде чем продолжить, вы можете ознакомиться со следующими руководствами:
      Процесс настройки Cloudflare для сайтов WordPress
      Руководство по настройке Cloudflare для общих веб-сайтов

      Дариус Г.

      Директор по работе с клиентами

      После создания учетной записи войдите в систему и следуйте этим инструкциям:

      1. На панели инструментов Cloudflare , нажмите на вкладку Правила .
      1. Нажмите кнопку Создать правило страницы .
      2. Введите URL вашего текущего веб-сайта без www, затем установите правило страницы на URL-адрес пересылки .
      3. Выберите 301 — Постоянное перенаправление в качестве кода состояния.
      1. Введите URL своего веб-сайта с www, затем нажмите Сохранить и развернуть .

      Дождитесь начала перенаправления.

      NGINX

      Если вы используете хостинг виртуальных частных серверов и NGINX, следуйте приведенному ниже руководству, чтобы перенаправить URL-адреса без www на www:

      1. Войдите в свою учетную запись VPS, используя SSH, например PuTTY.
      2. Перейти в каталог /etc/nginx/ .
      3. Введите команду ниже, чтобы просмотреть содержимое каталога:
        [сервер]$ sudo ls - la
      4. Введите пароль NGINX.
      5. Введите следующую команду для редактирования файла nginx.conf:
        [server]$ sudo nano nginx.conf
      6. Добавьте следующие строки кода, заменив yourdomain.com вашим фактическим именем домена:
        server {
        имя_сервера yourdomain.com;
        возврат 301 $scheme://www.yourdomain.com$request_uri;
        }
      7. Введите следующую команду, чтобы перезапустить веб-сервер NGINX:
        sudo systemctl restart Nginx

      HTTP на HTTPS и другие перенаправления страниц.

      Apache

      Если вы являетесь пользователем VPS и Apache, вам также потребуется отредактировать файл .htaccess . Как и в предыдущем уроке, это можно сделать через SSH-терминал.

      Важно! Прежде чем продолжить выполнение описанных ниже действий, убедитесь, что у вас есть root-доступ с привилегиями sudo и текстовый редактор, например Nano.

      По умолчанию Apache не позволяет использовать файл .htaccess , поэтому шаги будут немного отличаться:

      1. Включите mod_rewrite , выполнив следующую команду:
        $ sudo a2enmod rewrite
        Затем , перезапустите веб-сервер Apache:
        $ sudo systemctl перезапустить apache2
      2. Включите .htaccess с помощью команды:
        $ sudo vi /etc/apache2/sites-available/000-default.conf
        Добавьте следующий код перед строкой :
        Параметры Индексы FollowSymLinks MultiViews
        AllowOverride All
        Требовать все предоставленные

        Затем перезапустите Apache.
      3. Для создания 9(.*)$ http://www.yourdomain.com/$1 [L,R=301]
      4. Перезапустите сервер Apache.

      Все посетители сайта, использующие URL-адрес без www, теперь должны быть перенаправлены на версию с www.

      Заключение

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

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

      Хотя это может показаться сложным, процесс перенаправления займет всего минуту или две. В этой статье вы узнали, как перенаправить URL-адреса без www на www несколькими способами:

      • Через панель управления вашей учетной записи хостинга — hPanel и cPanel.
      • Использование Cloudflare.
      • Для пользователей VPS через NGINX и Apache.

      Теперь всякий раз, когда кто-то заходит на ваш сайт с помощью http://yourdomain.com , он будет перенаправлен на http://www.yourdomain.com .

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

      Меркис — администратор серверов и эксперт по Linux в Hostinger. Он поддерживает все в рабочем состоянии, одновременно решая сложные вопросы управления сервером. Кроме того, он большой поклонник технологии блокчейн, веб-разработки и бодибилдинга.

      Подробнее от Merkys M.

      Как перенаправить HTTP на HTTPS и с www на без www

      by Robin Roelofsen

      В прежние времена связь с веб-сайтом была практически не защищена, и URL-адреса всех веб-сайтов начинались с www. В настоящее время большинство веб-сайтов защищены с помощью SSL-сертификата, и большинство из них также удалили www из своих URL-адресов.

      Все хорошо, но как убедиться, что старые ссылки не приводят к ошибке 404?

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

      Перенаправление ваших ссылок с http на https

      Сайты, которые существуют более двух лет, в основном некоторое время работали без защиты SSL. Их URL-адрес по умолчанию начинался с http://. Теперь на этих сайтах установлена ​​безопасность SSL, поэтому их URL-адрес по умолчанию начинается с https://.

      Однако существует множество ссылок, указывающих на тот сайт, который по-прежнему использует http://, и многие люди по-прежнему используют http:// при вводе URL-адреса. Все эти ссылки должны перенаправлять на новый URL той же страницы.

      Вы можете создавать перенаправления для каждой страницы отдельно, но гораздо проще иметь правило в файле . (.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

      Предупреждение: если вы используете этот код на сайте WordPress и у вас есть плагин, который перенаправляет http на https, либо отключите эту функцию, либо не используйте этот код. Это создаст петлю редиректов, и ваш сайт будет недоступен!

      Перенаправление ваших ссылок с https на http

      Несмотря на то, что я не могу представить ситуацию, в которой вы хотели бы сделать обратное, вот код для перенаправления 
      ссылки https и ее точного эквивалента, начинающегося с http: //.

       # Перенаправить HTTPS на HTTP
      
      RewriteEngine включен
      RewriteCond %{HTTPS} на
      Правило перезаписи (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
       

      Перенаправление ваших ссылок с www на не-www

      Когда веб-сайты были чем-то новым, все URL-адреса начинались с www, что означает World Wide Web . В настоящее время большинство веб-сайтов отказываются от www и просто используют более короткий URL-адрес. https://%1%{REQUEST_URI} [L,NE,R=301] 9https://www.%1%{REQUEST_URI} [L,NE,R=301]

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

      Как вы решаете проблемы с перенаправлением? Используете ли вы фрагменты кода или плагины? Пожалуйста, поделитесь в разделе комментариев.

      Ресурсы

      Перенаправление Apache с www на не-www и с HTTP на HTTPS (Саймон Карлетти)
      23 Удивительное перенаправление .htaccess с (с www на без www) И (без www на www) (2daygeek)
      Фрагменты .htaccess (GitHub)

      Перенаправление с www на URL без www с помощью HTACCESS в WordPress

      Интернет полон ресурсов, и все эти ресурсы однозначно идентифицируются унифицированными указателями ресурсов (URL). Важность уникальности URL-адресов невозможно переоценить, и ее не нужно объяснять. Это очень просто понять! Большинство веб-серверов и браузеров считают www и не www URL одинаковые. Например, теоретически:

      http://www.example.com совпадает с

      Но некоторые веб-серверы и поисковые системы (например, Google) могут считать эти URL-адреса разными. Оба URL-адреса указывают на один и тот же ресурс. Итак, у нас есть два URL для доступа к одному ресурсу . Такая ситуация вызывает дублирование контента , а дублирование контента является смертным грехом в глазах поисковых систем. Они налагают серьезные штрафы на веб-сайты, на которых размещается дублированный контент.

      Интернет — динамическая система. Здесь ресурсы меняются, как и URL-адреса. Поэтому перенаправление — обычное явление в Интернете. Веб-мастера используют несколько методов для перенаправления URL-адреса с www на URL-адреса без www (или наоборот, т. е. перенаправления URL-адреса без www на URL-адрес www ). самый простой способ добиться этого — использовать файл .htaccess, в котором вы можете постоянно перенаправлять (перенаправление 301) одну форму URL-адреса в другую форму. Давайте узнаем, как осуществить такое перенаправление. Но перед этим давайте посмотрим, что вам понадобится:

      Принять решение

      Прежде всего, вам нужно решить, какой формат вы предпочитаете. Вы хотите, чтобы URL-адреса вашего веб-сайта были в формате www или не в формате www. Что бы вы ни выбрали, придерживайтесь одного формата. Не смешивайте форматы URL с www и без www .
      Убедитесь, что модуль mod_rewrite Apache доступен.

      Для изменения .htaccess вам потребуется доступ к вашему серверу. Если вы ведете блог на бесплатной платформе (например, WordPress.com), вы не сможете получить доступ к файлу .htaccess или изменить его. Но в таком случае вам никоим образом не нужно будет вносить такие изменения, поскольку платформа для ведения блогов позаботится о таких небольших проблемах.

      Модуль mod_rewrite сервера Apache

      Сервер Apache использует модули для различных функционалистов. mod_rewrite — это модуль, который включает перенаправление и перезапись URL. Если этот модуль установлен и доступен на сервере Apache, только тогда ваше перенаправление будет работать.

      Если mod_rewrite доступен, он возьмет ваши команды перенаправления из файла .htaccess.

      Перенаправить старый домен на новый домен

      Если вы изменили доменное имя своего веб-сайта, настоятельно рекомендуется перенаправить все страницы старого веб-сайта на новый адрес. Для этого добавьте в файл .htaccess следующее: 9(.*) [последнее, перенаправление = 301]

      URL-адрес без www на общем хост-сервере (сервере с несколькими доменами)

      Я занимаюсь этим конкретным вопросом, потому что многие веб-мастера смущаются, когда происходит следующее:


      перенаправляет на

      Такая ситуация возникает сервер, на котором размещено несколько доменов. www\.(([a-z0-9/?старый([a-z/.]*)$ /новый$1 [R=301,L]

      Не забудьте заменить «старое» и «новое» старым и новым именами вашей папки.

      Надеюсь, эта информация была вам полезна. Убедитесь, что перенаправление сделано правильно. Плохо настроенный .htaccess может сломать ваш сервер. Это чрезвычайно важный файл. Правильное перенаправление URL принесет пользу не только пользователям вашего сайта или блога; но также это окажет хорошее влияние на поисковую оптимизацию вашего сайта (SEO).

      Если у вас есть, пожалуйста, не стесняйтесь задавать любые вопросы. Благодарим вас за использование TechWelkin!

      Apache перенаправляет с www на без www и с HTTP на HTTPS — Simone Carletti

      — Оставить комментарий

      Растущее использование HTTPS в качестве протокола подключения по умолчанию для веб-сайтов поставило перед разработчиками и системными администраторами несколько новых задач, таких как необходимость консолидации канонического домена путем перенаправления не-HTTP-сайтов на HTTPS, в дополнение к перенаправлению с www на не-HTTP-сайты. -www имя хоста (или наоборот).

      Введение

      Здесь я показываю, как перенаправить сайт с www на не-www (или наоборот) и с HTTP на HTTPS, используя конфигурацию сервера Apache. Чтобы быть более понятным, конфигурация будет перенаправлять следующие имена хостов:

      .
       http://example.com
      http://www.example.com
      https://example.com
       
      от

      до

       https://example.com
       

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

      Конфигурация Apache 9https://www.%1%{REQUEST_URI} [L,NE,R=301]

      Как это работает

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

       RewriteEngine включен
       

      Первая строка включает механизм перезаписи среды выполнения Apache, необходимый для выполнения перенаправления. Возможно, вы уже включили его в предыдущей конфигурации в том же файле. Если это так, вы можете пропустить эту строку. 9www\. [НЗ]

      Эти две строки являются условиями перенаправления, они используются для определения необходимости перенаправления запроса. Поскольку условия объединены с помощью [ИЛИ], если какое-либо из этих двух условий возвращает значение true, Apache выполнит правило перезаписи (перенаправление).

      Первое условие определяет, использует ли запрос URL-адрес, отличный от HTTPS. Второе условие определяет, использует ли запрос URL-адрес www . Обратите внимание, что я использовал www\. а не 9(?:www\.)?(.+)$ [NC]

      Четвертая строка — это удобная строка, которую я использовал, чтобы не ссылаться на имя хоста непосредственно в URL-адресе. Он соответствует HOST входящего запроса и разбивает его на часть www (если есть) и остальную часть имени хоста. Мы будем ссылаться на него позже с помощью %1 в RewriteRule . https://www.%1%{REQUEST_URI} [L,NE,R=301]

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

      • https://www.
      • %1 : ссылка на часть хоста без www
      • %{REQUEST_URI} : URI запроса без имени хоста

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

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

      Как я уже упоминал, в моем примере используется дополнительная строка RewriteCond для извлечения имени хоста и предотвращения встраивания имени хоста в правило. Если вы чувствуете, что это снижает производительность, вы можете встроить хост прямо в правило:

      .

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

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