19 дек. 2018 г., 23:55

Вопрос по SSL сертификату.

В блоге Песочница

Всем привет, перевожу свой сайт на ssl, прописал в Системные настройки -> server_protocol Установил https. Потом:
if (!defined('MODX_URL_SCHEME')) { $url_scheme= $isSecureRequest ? 'https://' : 'http://'; //заменить на: if (!defined('MODX_URL_SCHEME')) { $url_scheme= 'https://';
И потом ставлю:
RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule ^(.*)$ https://SITE-NAME.ru/$1 [R=301,L]
При входе по прямой ссылке на главную страницу все нормально редиректит, но как только перехожу через меню на другую страницу фраза "Выполнено слишком много перенаправлений". Может кто подскажет в чем причина?
А зачем вам такое?
RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule ^(.*)$ https://SITE-NAME.ru/$1 [R=301,L]
В .htaccess самого MODX есть такое:
RewriteCond %{SERVER_PORT} !^443 RewriteRule (.*) https://example-domain-please-change.com/$1 [R=301,L]
Вам это значительно больше должно подойти.
откомментировал эти строки, но все равно такая же проблема
А это закомментировали?
RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule ^(.*)$ https://SITE-NAME.ru/$1 [R=301,L]
Вообще, бесконечный редирект срабатывает из-за того, что постоянно выполняется условие редиректа. Но уверены, что редирект именно на уровне .htaccess? Может еще на уровне MODX в чем экспериментировали?

1. Закомментируйте все правила редиректа в .htaccess и убедитесь, что ошибка редиректа пропала (пусть даже и вообще перестанет работать редирект).
2. Если все дело именно на уровне .haccess, то тогда скорее всего %{SERVER_PORT} не равняется 443. Это вопрос уже настройки хостинга. То есть если эта переменная отсутствует, то она в любом случае не будет равна 443 и поэтому всегда будет выполняться редирект. По этому вопросу лучше обратиться в саппорт хостинга.
Всё, разобрался!
Ну и здорово. Вы напишите как решили, не лишнее же будет.
Я просто взял нормальный .htaccess с официального сайта modx и там раскомментировал нужные строки, просто какой-то кастом у меня стоял в .htaccess.
Аа. Ясно. В принципе, самый правильный путь.

Добавить комментарий