Не работает https перенаправление в админке

Здравствуйте в файле .htaccess раскомментировал 2 строки:

RewriteCond %{SERVER_PORT} !^443
RewriteRule (.*) https://glorious-doors.ru/$1 [R=301,L]

Сайт и вход в админку корректно работает по https (http://joxi.ru/xAeeyPafdvBJAy), но как только вхожу в админку она ломается joxi.ru/l2ZVK0DHqY3N2J
а вот если добавлю букву s в http, то админка будет корректно работать.

Подскажите, как решить эту проблему, что бы автоматом в админке перебрасывалось на защищенный протокол https?
Alex Lenk
13 марта 2017, 05:40
2
460
0

Комментарии: 6

Илья Уткин
13 марта 2017, 10:30
2
+1
Создай вот такой плагин на событие OnHandleRequest

if ($modx->event->name != "OnHandleRequest") {
   return;
}
$uri = $_SERVER['REQUEST_URI'];
$http_host = $_SERVER['HTTP_HOST'];
$site_url = str_replace(array('www.', 'http://', 'https://', '/'), '', $modx->getOption('site_url'));
// for https set true
$https = true;
// robots.txt allways without redirect
if ($uri == '/robots.txt') return;
if ($http_host != $site_url || ($https && !$_SERVER['HTTPS'])) {
    if ($https) {
        $protocol = 'https://';
    } else {
        $protocol = 'http://';
    }
    $modx->sendRedirect($protocol.$site_url.$uri, array('responseCode' => 'HTTP/1.1 301 Moved Permanently'));
}
    Николай
    13 марта 2017, 10:54
    +1
    А не проще ли и корректнее в папке с админкой переставить точку в htaccess и в нем добавить правило:

    RewriteCond %{SERVER_PORT} !^443
    RewriteRule (.*) glorious-doors.ru/$1 [R=301,L]

    ?

    Там сейчас скорее всего rewrite off стоит. Ну или заходить по https
      Илья Уткин
      13 марта 2017, 10:57
      +2
      Может и проще… Только не люблю я вносить изменения в .htaccess (вдруг, в будущем, потребуется перенести на сервер без Apache — тогда будет больше возни).
    Alex Lenk
    13 марта 2017, 22:16
    0
    Спасибо большое, работает!
Алексей Федоров
13 марта 2017, 11:45
0
На всякий случай стоит проверить системную настройку server_protocol в core -> система и сервер. Там нужно поставить https. По идее, больше никакого шаманства для админки не потребуется. Разве что uri перегенерировать после изменений
    Alex Lenk
    13 марта 2017, 22:12
    0
    это давно сделал, вообще ничего не происходило. Даже кеш сбрасывал.