Содержание
РЕДИРЕКТ С WWW НА БЕЗ WWW NGINX
Главная » Linux » РЕДИРЕКТ С WWW НА БЕЗ WWW NGINX
Опубликовано
По соображениям SEO, сайт должен иметь только один домен. Поддомен с www считается отдельным доменом, и если он доступен, это приводит к дублированию контента и возможному ухудшению позиций сайта в рейтингах поисковых систем. Поэтому обычно используется перенаправление с www-домена на не-www-домен.
Первоначально поддомен www использовался для обозначения того, что сервер является веб-сервером и размещает веб-сайт. В этом больше нет необходимости. В этой статье описывается, как перенаправить с www на не www с помощью Nginx.
Самый простой способ создать перенаправление в Nginx для домена www — это создать для него отдельный раздел сервера и перенаправлять оттуда. Например:
server {
server_name setiwik.ru;
return 301 $scheme://losst.ru$request_uri;
}
Если вы хотите работать с www и non-www в одном разделе сервера, вы можете использовать условное выражение и регулярное выражение. www\.(.*)$) {
set $need_redirect «1»;
}
if ($request_uri ~* «well-known») {
set $need_redirect «0»;
}
if ( $need_redirect ~ «1») {
return 301 https://$server_name$request_uri;
Теперь, если URL содержит известное слово, которое используется в запросе проверки домена для SSL-сертификата, перенаправления не будет. Сохраните настройки и перезапустите Nginx сервер:
nginx -s reload
Или:
sudo systemctl restart nginx.
Затем вы можете проверить, работает ли перенаправление с помощью curl:
curl -I www.setiwik.ru
РЕДИРЕКТ С WWW НА БЕЗ WWW NGINX
Будет возвращен код перенаправления, а поле location будет содержать URL, на который будет перенаправлен пользователь. Однако если вы попытаетесь зайти на URL LetsEncrypt, перенаправления не произойдет:
curl -I https://www. setiwik.ru/.well-known/acme-challenge/xxxxxxxxxxxxxxxxxxxxxxx
Заключение:
Наконец все работает так, как ожидалось. Как вы можете увидеть, все довольно просто. Если в ставить несколько строк кода в нужное место, все будет хорошо. Если у вас вдруг остались вопросы, не стесняйтесь задавать их в комментариях, мы постараемся очень быстро ответить!
Linux NGINX Полезный совет Редирект
как настроить переадресацию и проверить результат — Топвизор–Журнал
Содержание
Поисковики воспринимают www.site.ru и site.ru как разные сайты, находящиеся на разных доменах. Это может быть плохо по двум причинам:
Происходит деление ссылочного веса. Часть внешних ссылок на ваш сайт с префиксом www, часть — без. Если перенаправление не настроено, Page Rank (PR) и тематический индекс цитирования (ТИЦ) будут распределяться между разными версиями сайта.
Одно из зеркал сайта считается дублем. Например, если поисковый робот заходит сначала на www.site.ru, а потом на site.ru, последний может расцениваться им как дубль и понижаться в выдаче.
Чтобы этого избежать, нужно настроить редирект со страниц одного типа на страницы другого типа. В статье рассказываем, как это сделать, на примере редиректа с www на URL без www; но инструкция работает и в обратную сторону.
Что такое редирект 301 и зачем он нужен
301‑й редирект — это постоянное перенаправление с одной страницы на другую. Когда страница навсегда перемещена с одного URL на другой, она отдает код ответа 301 Moved Permanently.
Человек этого не увидит — его сразу перекинет на нужную страницу. Но статус 301 можно увидеть, открыв исходный код страницы через инструменты разработчика — Яндекс Вебмастер или Google Search Console.
Как посмотреть исходный код страницы
301‑й редирект помогает склеить разные версии страницы — с www и без www — между собой. Таким образом, они не будут считаться дублями, а PR и ТИЦ этих страниц объединятся.
Какой тип URL выбрать основным
Сначала разберёмся, как лучше — перевести все страницы на вариант с префиксом www или, наоборот, с site.ru на www.site.ru.
Когда интернет только появился, адреса большинства сайтов начинались с www (World Wide Web) или другого префикса, для того чтобы различать разные серверы одной сети. Так, www обозначал хранение файлов для обмена в интернете, mail — работу электронной почты, ftp — обмен данными в сети.
Сейчас интернет работает немного иначе. Один сервер с одним IP‑адресом может служить разным целям: и хранить файлы, и доставлять электронные письма. Поэтому необходимость в www отпала, и многие браузеры (например, мобильный Safari) уже не показывают этот префикс в адресной строке. Он появляется, только если целенаправленно нажать на ссылку:
Пользователи тоже чаще всего набирают адрес сайта без www — так удобнее и быстрее. (.*)$ http://site.ru/$1 [R=301,L]
RewriteRule включает механизм редиректа. Вместо site.ru вставьте ваш сайт.
Через обычный интерфейс
Какой‑то общей схемы настройки 301‑го редиректа для всех сайтов, кроме как через htaccess, нет. В зависимости от того, на какой CMS сделан ваш сайт, инструменты и механизмы могут различаться.
В 1C‑Bitrix, например, редирект настраивается с помощью плагина «Редиректы для SEO».
Настройка редиректа с www на без www в 1C‑Bitrix
Для Wordpress используется плагин Redirection.
Как проверить, что редирект работает
Самый простой способ — посмотреть прямо в поиске. Введите в поиск адрес страницы, с которой вы настраивали перенаправление, и перейдите по ссылке. Вас должно перекинуть на ту страницу, куда вы настроили редирект.
Открыв инструменты разработчика (Ctrl + Shift + I для Windows и Cmd + Shift + I на macOS), вы увидите, что код состояния этой страницы — 301 Moved Permanently.
Проверить работу редиректа можно с помощью «Анализа сайта» от Топвизора. Сервис отдельно проанализирует именно www‑редирект и покажет данные о его состоянии в разделе «Сводка»:
Проверка редиректа с www в «Анализе сайта» Топвизора
А в разделе «Страницы» отображаются все страницы сайта и их коды ответа:
Коды ответа всех страниц сайта в «Анализе сайта» Топвизора
Фиолетовым сервис выделит страницы, для которых настроен 301‑й редирект.
❗️ Мы обновили дизайн инструмента «Анализ сайта» и открыли его для альфа‑теста. Теперь аудит стал нагляднее, проще и функциональнее: ищите редиректы и битые ссылки, проверяйте индексируемость, атрибуты и теги.
Чтобы первыми получить доступ к новой версии «Анализа сайта», напишите свой ID в комментариях.
Кроме этого, статус страницы можно увидеть через Яндекс Вебмастер. Введите страницу, которую хотите проверить, в «Проверку ответа сервера»:
Если со страницы настроен редирект, её код ответа будет 301.
Кстати, в Вебмастере редирект можно не только проверить, но и настроить: для этого перейдите в «Индексирование» — «Переезд сайта».
Также проверить редирект можно с помощью онлайн‑сервиса Redirect Checker. Введите ссылку и нажмите analyse — если всё хорошо, появится надпись Everything seems to be fine.
Что запомнить
Сайт с www и без www — два разных сайта для поисковиков. Лучше всего выбрать какую‑то одну версию. Пользователи привыкли к формату без www, поэтому можно остановиться на нём.
Склеить два зеркала сайта навсегда можно с помощью 301‑го редиректа — он объединит PR и ТИЦ. Делается это с помощью внесения изменений в файл .htaccess или через плагины для CMS, на которой сделан сайт.
Проверить, что редирект работает, можно вручную: через Анализ сайта от Топвизора, сервис Redirect Checker или через панели веб‑мастеров.
Ещё по теме
Коды ошибок HTTP: полный список ошибок сервера
Есть ли смысл настраивать редирект со страницы с ошибкой 404
Ставить завершающий слеш в URL или нет: как лучше для SEO
Как легко перенаправить веб-сайты без www на www
Развитие веб-сайта
Техническое обслуживание
15 марта 2023 г.
Merkys M.
5min Read
Как владелец веб-сайта, вы, возможно, задавались вопросом, является ли использование домена веб-сайта с www или без www просто вопросом предпочтений пользователя.
Несмотря на то, что домен без www может быть проще и легче для запоминания вашей аудиторией, он имеет некоторые недостатки по сравнению с доменом с www.
Домен www помогает избежать возможности разделения страниц ранжирования или разделения входящих ссылок, а также любого дублирующегося контента при индексации сайта поисковыми системами. Таким образом, это улучшает поисковую оптимизацию вашего сайта (SEO).
Если вы используете URL-адрес без www, перенаправление на www может показаться пугающим, но это не сложный процесс. Продолжайте читать, так как эта статья покажет вам три различных метода перенаправления URL-адресов без www на URL-адреса с www.
Зачем перенаправлять 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 . Вот шаги для этого:
- Войдите в свою hPanel , прокрутите вниз до раздела Файлы и откройте Файловый менеджер .
- Перейдите к 9(.*)$ http://www.yourdomain.com/$1 [L,R=301]
- Не забудьте заменить yourdomain.com на ваше фактическое доменное имя . Когда вы закончите, сохраните изменения.
Это правило .htaccess теперь будет перенаправлять всех посетителей с версии вашего веб-сайта без www на версию с www.
cPanel
Пользователи cPanel могут перенаправлять URL-адреса без www на www с помощью настроек Redirect или редактирования .htaccess файл. Если вы новичок, мы рекомендуем следовать первому методу:
- Получите доступ к cPanel , затем перейдите к Домены -> Перенаправления .
- В разделе введите выберите параметр постоянный (301) .
- На https?:// введите домен, который вы хотите перенаправить. Оставьте раздел пути (/) пустым.
- В поле Redirects to введите адрес www вашего веб-сайта.
- Выберите Не перенаправлять www и снимите флажок Перенаправление подстановочных знаков .
- Нажмите кнопку Добавить .
Если описанный выше метод не работает, вы можете установить перенаправление вручную, отредактировав файл .htaccess :
- На панели управления cPanel перейдите в Files -> File Manager .
- Найдите папку public_html и дважды щелкните ее. 9(.*)$ http://www.yourdomain.com/$1 [L,R=301]
Важно! Не забудьте заменить yourdomain.com вашим настоящим доменным именем.
- Сохранить изменения
Cloudflare
Если вы планируете настроить CDN, например Cloudflare, для повышения скорости и производительности сайта, вы также сможете использовать его для перенаправления не-www на домен www.
Совет эксперта
Прежде чем продолжить, вы можете ознакомиться со следующими руководствами:
Процесс настройки Cloudflare для сайтов WordPress
Руководство по настройке Cloudflare для общих веб-сайтов
Дариус Г.
Директор по работе с клиентами
После создания учетной записи войдите в систему и следуйте этим инструкциям:
- На панели инструментов Cloudflare , перейдите на вкладку Правила .
- Нажмите кнопку Создать правило страницы .
- Введите URL-адрес вашего текущего веб-сайта без www, затем установите правило страницы на URL-адрес пересылки .
- Выберите 301 — Постоянное перенаправление в качестве кода состояния.
- Введите URL своего веб-сайта с www, затем нажмите Сохранить и развернуть .
Подождите, пока перенаправление не начнет действовать.
NGINX
Если вы используете хостинг виртуальных частных серверов и NGINX, следуйте приведенному ниже руководству, чтобы перенаправить URL-адреса без www на www:
- Войдите в свою учетную запись VPS, используя SSH, например PuTTY.
- Перейти к каталогу /etc/nginx/ .
- Введите команду ниже, чтобы просмотреть содержимое каталога:
[сервер]$ sudo ls - la
- Введите свой пароль NGINX.
- Введите следующую команду для редактирования файла nginx.conf:
[сервер]$ sudo nano nginx.conf
- Добавьте следующие строки кода, заменив yourdomain.com вашим фактическим доменным именем:
сервер {
имя_сервера yourdomain.com;
возврат 301 $scheme://www.yourdomain.com$request_uri;
}
- Введите следующую команду, чтобы перезапустить веб-сервер NGINX:
sudo systemctl restart Nginx
В дополнение к перенаправлению URL-адресов без www на URL-адреса с www, вы также можете выполнять другие перенаправления через NGINX, такие как перенаправление с HTTP на HTTPS и другие перенаправления страниц.
Apache
Если вы являетесь пользователем VPS и Apache, вам также необходимо отредактировать файл .htaccess . Как и в предыдущем уроке, это можно сделать через SSH-терминал.
Важно! Прежде чем продолжить выполнение описанных ниже действий, убедитесь, что у вас есть root-доступ с привилегиями sudo и текстовый редактор, например Nano.
По умолчанию Apache не позволяет использовать файл .htaccess , поэтому шаги будут немного отличаться:
- Включите mod_rewrite , выполнив следующую команду:
$ sudo a2enmod rewrite
Затем , перезапустите веб-сервер Apache:
$ sudo systemctl перезапустить apache2
- Включите .htaccess с помощью команды:
$ sudo vi /etc/apache2/sites-available/000-default.conf
Добавьте следующий код перед строкой
Параметры Индексы FollowSymLinks MultiViews
AllowOverride All
Требовать все предоставленные
Затем перезапустите Apache. - Чтобы создать 9(.*)$ http://www.yourdomain.com/$1 [L,R=301]
- Перезапустите сервер 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. Он поддерживает все в рабочем состоянии, одновременно решая сложные вопросы управления сервером. Кроме того, он большой поклонник технологии блокчейн, веб-разработки и бодибилдинга.
Больше от Merkys M.
Перенаправление на www или без www
Документы
Установка, использование, устранение неполадок и многое другое
Шаблоны информационных бюллетеней »
« Хостинг
Перенаправление на www или без www
Зачем перенаправлять на www или без www?
Размещение вашего веб-сайта на URL-адресах с www или без www может быть связано с эстетическими соображениями, личными предпочтениями или для предотвращения избыточных имен хостов. Рекомендуется, чтобы имя хоста вашего веб-сайта оставалось одинаковым. Либо с частью www, либо без части www.
В WordPress у вас есть домашний адрес
и siteurl
, поэтому проблема с избыточными именами хостов не является проблемой, поскольку WordPress автоматически перенаправит сайт, чтобы убедиться, что сайт работает на том же siteurl
, как и должно быть. Однако другие приложения могут потребовать вашего внимания в этой области.
Google Analytics также выдаст вам предупреждение « Redundant Hostnames », если вы этого не сделаете.
Для этого вы хотите сделать постоянное перенаправление HTTP 301.
Как перенаправить на www или без www
На наших серверах это можно сделать двумя быстрыми и простыми способами.
Выберите один из двух методов, который вы предпочитаете. Первый самый простой для большинства пользователей.
1. Использование cPanel для перенаправления на www или без www
Это легко сделать с помощью cPanel. Войдите в свою cPanel, чтобы начать.
Перейдите в раздел Домены > Перенаправления на главной странице cPanel.
Теперь, в зависимости от того, предпочитаете ли вы URL-адреса с частью www или без части www, инструкции будут немного отличаться.
Перенаправление на www
- Установите постоянный тип, который даст код состояния HTTP 301.
- Выберите основной домен в этом раскрывающемся списке.
- Оставьте путь пустым, вы хотите перенаправить весь домен.
- Укажите URL-адрес для перенаправления с частью « www ».
- Выберите « Не перенаправлять www ».
- Не устанавливайте флажок « Wild Card Redirect ».
Перенаправление на сайт без www
- Установите постоянный тип, чтобы получить код состояния HTTP 301.
- Выберите основной домен из раскрывающегося меню.
- Оставляем путь пустым, мы хотим перенаправить весь домен.