@mod133

Редирект, зеркала www / https какой порядок действий?

Здравствуйте? уважаемые! Пытаюсь разобраться с редиректами и от большого количества различной информации все смешалось. Прошу помочь структурировать.
Есть сайт (landingPage) с именами www.example.ru и example.ru
на домен установлен SSL сертификат следовательно получается есть еще:
www.example.ru и example.ru
httpS://www.example.ru и httpS://example.ru
Слеш в конце имени, я где-то читал, это тоже я так понял как считается зеркалом.
Задача: как при поисковой выдаче дать пользователю https://example.ru?
В Гугл панели я указал example.ru
для Яндекса я так понимаю нужно указать хост
еще можно вносить правки в .htaccess и все понеслась каша ((
Буду очень признателен если растолкуете
  • Вопрос задан
  • 972 просмотра
Пригласить эксперта
Ответы на вопрос 2
shambler81
@shambler81 Куратор тега htaccess
RewriteEngine On
   #  Директива включает редиректы.
RewriteBase / 
   # Без директивы (.*) = /$1 будет /var/wwww/site/web/$1  с директивой  = /$1
Options +FollowSymLinks
   # Разрешает переход по символическим ссылкам.
php_flag display_errors off
  # запретить отображение ошибок  
php_flag allow_url_fopen off
  # запретить  использовать удаленые файлы 

############################################################################
#### Выбор основного зеркала (с www или без www)                        ####
############################################################################
    # 1. Удалить www
RewriteCond %{ENV:HTTPS} on
    #Если включен https
RewriteRule .* - [E=SSL:s]
    #То создаем переменную  ssl с текстом s
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
    # Проверяем, содержит ли домен www в начале URL.
RewriteRule ^(.*)$ http%{ENV:SSL}://%1/$1 [R=301,L]
    # Перенаправляем удаляем www
############################################################################
#### Перенаправляем протокол http на https                              ####
############################################################################
RewriteCond %{ENV:HTTPS} !on
   # Проверяем наличие https в URL.
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
   # Перенаправляем протокол на http.
Ответ написан
Комментировать
Oblomow
@Oblomow
SEO-специалист
Вопрос задан как-то странно, но я попытаюсь ответить.
Пытаюсь разобраться с редиректами...

Нужно открыть файл .htaccess (вы же нашли где он находится?)
В нём по очереди прописывать правила и менять их порядок, если это потребуется.
Я бы писал в следующем порядке:
  1. Правило 301 редиректа на https;
  2. Правило 301 редиректа с www на без www;
  3. Правило 301 редиректа на добавление или удаление слэша;

Примеры:
RewriteEngine On
RewriteBase /
# https
RewriteEngine On
RewriteCond %{ENV:HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# www.site.ru -> site.ru
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
# + /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]

Добавляя каждое правило проверяйте, чтобы оно выполнялось.
Сами правила скорее всего придётся погуглить, так как даже вариантов перехода на https я помню около 3-4, из которых некоторые могут не работать именно у вас.
Ну и порядок меняйте, если при подключении одного другое отключается.

Теперь отвечаю на последний вопрос:
как при поисковой выдаче дать пользователю https://example.ru?

Регистрируете Яндекс.Вебмастер и Google Search Console.
В Яндекс.Вебмастере указываете желаемый адрес(т.е. с https, если я правильно понял ваше желание) и подтверждаете права на него.
Или пользуетесь кнопкой "Переезд сайта", если уже используете Вебмастер.
В графе переезд можно добавть/убрать https и www.
Изменения произойдут не сразу, приготовьтесь подождать.

В Google Search Console добавьте желаемый вариант отображения.
Хотите с https — добавляйте с https.

Добавив с обе панели нужную версию не забудьте пройтись по остальным настройкам, указать путь к sitemap.xml, если планируется добавление других страниц.

Это что касается вопроса о выдаче, но оно не будет работать, пока вы не сделаете редиректы.
Если вы всё сделали (редиректы настроены и работают, в вебмастере добавлены новые сайты с https), а в выдаче сайт всё ещё без https, то ждите и проверяйте что пишет вебмастер.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы