Protossan
@Protossan
студент

Как сделать исключение в htaccess для https?

Переношу рабочий сайт на https протокол, но так как сайт старый, не выходит сделать его полностью на https из-за незащищенного контента. В урлах есть страницы типа .../page/text.html но при этом такой папки физически нету - это правило htaccess делает такой путь. Получается вот такой код:

RewriteEngine On
RewriteBase /
RewriteRule ^page/(.*)$ page_redir.php?url=$1 [L]

RewriteCond %{REQUEST_URI}  !^/page/.*$
RewriteCond %{HTTP_HOST} ^mysite\.com [NC]
RewriteCond %{HTTP:X-Forwarded-Proto} ^http$
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]


Но не работает - вместо этого переходит на урл mysite.com/page_redir.php?url=....... и с https протоколом. Посоветуйте, пожалуйста как выйти из этой ситуации?
  • Вопрос задан
  • 309 просмотров
Решения вопроса 1
shambler81
@shambler81 Куратор тега htaccess
RewriteCond %{HTTP_HOST} ^(www\.|)mysite\.com [NC] - так точней будет.
- тут все правильно как вариант убери лишний пробел перед ! и сделай более мягкое условие, сработает ?
Так же не забывай что html - по идее статика, и может забираться сразу nginx и не доходить до редиректа в апаче в принципе. Тут нужно более подробно о конфе сервера.
А так же весь .htaccess
и зачем тебеRewriteCond %{HTTP:X-Forwarded-Proto} ^http$
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы