Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Как сделать перенаправление с www на без www с учетом https?

Как сделать перенаправление с www на без www с учетом https?


     26.07.2017    перенаправление, www, https    Все вопросы » Общие вопросы    2922

вопрос
Для перенаправления с http//www.site.ru на http//site.ru есть такой код:

RewriteCond %{HTTP_HOST} !^www.site.ru$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]


А как сделать перенаправление с https//www.site.ru на https//site.ru?

Ответа пока нет


9 комментариев

Апельсин
Юзер

Апельсин - 26 июля 2017 21:58 -

Попробуй так


RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Апельсин
Юзер

Апельсин - 26 июля 2017 22:00 -

Если без www то измени код под себя

SX2
Эксперт

SX2 - 26 июля 2017 22:00 -

# Определяем главное зеркало
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

# Редирект с HTTP на HTTPS
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X_FORWARDED_PROTO} !^https$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Самая сложная часть работы – решиться приступить к ней.

Denexter
Юзер

Denexter - 27 июля 2017 02:27 -

Ни один из перечисленных выше вариантов не подходит. Нужно чтобы был редирект как с www.site.ru на site.ru, так и с https://www.site.ru на https://site.ru.

avatarman
Юзер

avatarman - 27 июля 2017 19:28 -

Вы хотите в поиске видеть два своих сайта? И site.ru и https://site.ru?
Т.е. дублирование контента, верно?

Denexter
Юзер

Denexter - 28 июля 2017 04:11 -

Протокол http не учитывается. Странно, что Вы этого не знали. Дублирование - это когда с www и без www. http://site.ru и site.ru - это одно и тоже. А так как идёт редирект с http на https, то никаких site.ru быть не может.

Denexter
Юзер

Denexter - 28 июля 2017 12:50 -

Никто не знает что-ли, как это сделать?

Denexter
Юзер

Denexter - 28 июля 2017 17:01 -

Для тех, кто не понял. Мне нужно, чтобы был редирект:
http://www.site.ru => https://site.ru
https://www.site.ru => https://site.ru

Но редирект с http на https у меня уже стоит, нужен только с www на без www с учетом https.


А если поставить в конфигурационный файл Apache такой синтаксис:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.site\.ru$ [NC]
RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L]


Будет ли работать?

Подозреваю, этот синтаксис не работает в .htaccess из-за того, что в конфигурационном файле Apache не была добавлена поддержка директивы mod_rewrite (добавить не сложно).

Denexter
Юзер

Denexter - 29 июля 2017 11:22 -

Вопрос был решён. Тема закрыта.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

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

наверх