Редирект с принудительным протоколом

ВC
На сайте с 02.02.2006
Offline
459
1327

Сайт открывается и по протоколу НТТР, и по протоколу НТТРS. Проблема состоит в том, что когда имеет место 301 редирект с одной страницы на другую, то в случае, когда посетитель пришел по адресу с НТТРS, он после редиректа оказывается на странице с адресом НТТР.

А если сделать принудительный переход на протокол https, это будет корректно?

Redirect 301 /novosti-kompanii/novyi-metod/ https://site.ru/novyj-metod/

(Техподдержка хостинга это не одобрила, но не объяснила причину).

Оптимизайка
На сайте с 11.03.2012
Offline
396
#1
Владимир-C:
(Техподдержка хостинга это не одобрила, но не объяснила причину).

Причина - циклический редирект, если пришёл с https то редиректит опять туда же.

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
ВC
На сайте с 02.02.2006
Offline
459
#2
Оптимизайка:
циклический редирект

Почему же он циклический? Ведь это однократный переход.

Оптимизайка
На сайте с 11.03.2012
Offline
396
#3
Владимир-C:
Почему же он циклический?

Сорри, не разгядел что URL path разный, тогда да, однократный. Тогда нормально.

dma84
На сайте с 21.04.2009
Offline
168
#4
Владимир-C:
(Техподдержка хостинга это не одобрила, но не объяснила причину).

Не Таймвеб ли, случаем?

ВC
На сайте с 02.02.2006
Offline
459
#5

Хостинг Бегет.

S
На сайте с 30.09.2016
Offline
469
#6

Дык проверяйте протокол перед этим "принудительным" редиректом.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
dma84
На сайте с 21.04.2009
Offline
168
#7
Владимир-C:
Хостинг Бегет.

Не только у них такая болезнь, а так же у Таймвеба и reg.ru, отписки смешные от ТП, идиоты, одним словом.

Вот костыль:


RewriteCond %{SERVER_PORT} ^443$
RewriteRule ^ - [E=SITE:https://site.ru]
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^ - [E=SITE:http://site.ru]

RewriteRule ^old-url$ %{ENV:SITE}/new-url [R=301,L]

RewriteCond %{SERVER_PORT} ^443$ - нужно заменить на рабочую конструкцию текущего хостинга.

RewriteCond %{HTTP:X-HTTPS} ^1$

или

RewriteCond %{ENV:HTTPS} ^on$

У всех по-разному.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий