demon-82 3 Жалоба Опубликовано: February 15, 2017 Как добавить www. к домену на https:// ? и повлияет ли на что либо на сайте. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chernetskiy 469 Жалоба Опубликовано: February 15, 2017 Дописать в robots.txt параметр Host: и изменить там-же ссылку на sitemap + изменить название сайта в Админке Настройки-Общее. А вот зачем это нужно? Обязательность указания www была необходима на заре становления Интернета, когда надо было явно указать, что это веб-сайт, добавляя к названию домена www. В настоящее время это анахронизм и надобности такой нет. Поисковикам и браузерам разницы нет, как вы укажете свой домен с www или без. Это будет актуально в том случае, если у вас сайты разные - с www и без www, при этом поисковым сервисам специально на это указывают. Изменив домен действующего сайта на www, вам придется их по новой зарегистрировать в поисковых сервисах, поскольку в их понимании это другой сайт, страницы вашего сайта выпадут из поиска, а спустя месяц-два, после многократного переобхода страниц нового сайта поисковики загрузят содержимое сайта по новой и еще через квартал - полгода выяснят, что старый и новый сайт - одно и то-же и склеят его, при этом не факт, что сайт с www будет основным, после чего потребуется его переклеить... Вам этот геморрой нужен? Лучше оставьте его как есть и в .htaccess пропишите директиву (301 редирект) с адресацией на текущий домен вне зависимости от того, как пользователь укажет - с www или без... Вариант 1 <IfModule mod_rewrite.c> Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.site\.ru$ [NC] RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L] </IfModule> Вариант 2 <IfModule mod_rewrite.c> Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L] </IfModule> Вариант 3 <IfModule mod_rewrite.c> Options +FollowSymLinks RewriteEngine On RewriteCond %{HTTP_HOST} !^site\.ru$ [NC] RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L] </IfModule> Выбирайте, какой больше нравится Основной рабочий домен будет без www, а в рекламе можете указывать как угодно, с www или без, в любом случае клиенты попадут на основной домен. PS: Вышеизложенное актуально, если в настройках домена на хостинге указан основной домен и домен с www в качестве зеркала, т.е. речь идет об одном сайте. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
demon-82 3 Жалоба Опубликовано: February 15, 2017 Домен новый. Что не на что не влияет www в курсе. Так можно? RewriteEngine On RewriteCond %{SERVER_PORT} !^443$ RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L] RewriteEngine On RewriteCond %{HTTP_HOST} ^ru009.ru RewriteRule (.*) http://www.ru009.ru/$1 [R=301,L] Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chernetskiy 469 Жалоба Опубликовано: February 15, 2017 нет, здесь у вас 2 противоречивые инструкции: 1. Обращение к сайту с www или без www адресовать на https://.... 2. Обращение к сайту с www или без www адресовать на http://www... Будут глюки, поскольку обработка зациклится от таких непоняток и сайт будет недоступен... Если сайт на http и варианты с www и без www надо адресовать на http://... то выбирайте любой из 3-х вышеуказанных вариантов, Если ваш сайт на https, и варианты с www и без www надо адресовать на https://... то пишем указываем как ниже (при условии что прокатит, не все хостинги работают по защищенному протоколу через 443 порт), возможны варианты, если возникают проблемы: Вариант 1 RewriteEngine On RewriteCond %{SERVER_PORT} !^443$ RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L] или вариант 2 RewriteEngine On RewriteCond %{HTTPS} =on RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L] или вариант 3 (если не помогли вышеуказанные) RewriteEngine On RewriteCond %{HTTPS} off RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] Если вам нужна переадресация запроса без www на http://www... тогда так: RewriteEngine On RewriteCond %{HTTP_HOST} ^site.ru$ [NC] RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L] или так: RewriteEngine On RewriteCond %{HTTP_HOST} !^www\.(.*) [NC] RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L] Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
demon-82 3 Жалоба Опубликовано: February 16, 2017 Поставил: RewriteEngine On RewriteCond %{SERVER_PORT} !^443$ RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L] RewriteEngine On RewriteCond %{HTTP_HOST} ^ru009.ru RewriteRule (.*) https://www.ru009.ru/$1 [R=301,L] Написал в тех. поддержку beget, ответ: Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chernetskiy 469 Жалоба Опубликовано: February 16, 2017 Зачем вам нужно было указывать 2 инструкции для переадресации на https ? Эти лишняя обработка запроса. Они в принципе одинаковы, первая берет информацию о названии домена из {SERVER_NAME} (см. настройки домена и хостинга), во втором вы прямо на это указываете. В принципе, вторую можно убрать или воспользоваться вариантами 2 или 3 для переадресации на https, где название домена берется из параметра Host, который вы указали в robots.txt вариант 2 RewriteEngine On RewriteCond %{HTTPS} =on RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L] или вариант 3 (если не помогли вышеуказанные) RewriteEngine On RewriteCond %{HTTPS} off RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] если в robots.txt указали Host: https://www.ru009.ru, то по одному из этих правил варианты должны нормально переадресовываться. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
demon-82 3 Жалоба Опубликовано: February 16, 2017 Этот вроде подошёл. RewriteEngine On RewriteCond %{HTTPS} off RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] В robots.txt указал Host: https://www.ru009.ru Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chernetskiy 469 Жалоба Опубликовано: February 16, 2017 Ну если при обращении через www и без www (не указывая протокол), однозначно переадресует как надо, то вопрос решен Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
demon-82 3 Жалоба Опубликовано: February 16, 2017 Без www нет Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: March 1, 2017 Все таки должно быть два захода. #Если нет www, то не глядя, что там за протокол, сразу заворачиваем на https://www. RewriteEngine On RewriteCond %{HTTP_HOST} ^ru009.ru RewriteRule (.*) https://www.ru009.ru/$1 [L,R=301] #Если предыдущее прокатило (www таки было), но все таки не https, то заворачиваем на https:// RewriteCond %{HTTPS} off RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] Это все можно слепить в один набор условий, скорее всего, но потом будет сложно разобраться. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Chernetskiy 469 Жалоба Опубликовано: March 1, 2017 У меня установлено так: RewriteCond %{SERVER_PORT} !^443$ RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L] если обращение с www, то открывается https://www.мой_сайт если обращение без www, то открывает https://мой_сайт работают оба варианта, но основной без www (host в robots.txt) Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
abushyk 694 Жалоба Опубликовано: March 1, 2017 Если есть необходимость поддерживать www-поддомен, то все верно - заморачиваться с редиректом на оный с без-оного и наоборот нет смысла. Но обычно\чаще один из них отсекают. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах