Мысли о переходе на https

Столкнулся с некоторыми проблемами при переходе на https. Все решилось правкой ссылок.

Я подумал возможно все сделать универсально, чтобы не было зависимости от протокола и вот какие мысли возникли:

1. Конфиг.
Наличие протокола https можно «забирать» прямо в php ($_SERVER['HTTPS']). Поэтому в конфиге прописал вот такую строку (переопределяем в config.local.php эту строку):
if (isset($_SERVER['HTTP_HOST'])) {
    if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') {
        $config['path']['root']['web'] = 'https://'.$_SERVER['HTTP_HOST'];
    } else {
        $config['path']['root']['web'] = 'http://'.$_SERVER['HTTP_HOST'];
    }
} else {
    // for CLI scripts. or you can append "HTTP_HOST=http://yoursite.url" before script run command
    $config['path']['root']['web']        = null;
}

или одной строкой:

$config['path']['root']['web'] = isset($_SERVER['HTTP_HOST']) ? ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') ? 'https://' : 'http://') . $_SERVER['HTTP_HOST'] : null;

Выглядит непрезентабельно, и возможно неоптимально, но вроде работает. В зависимости от протокола по которому зашли, меняется конфиг {Config::Get('path.root.web')}

2. Ссылки на изображения.
На github-е уже предлагалось при загрузке изображений в редактор подставлять относительные ссылки.
src="http://site.com/uploads/images/.../img.jpg" -> src="/uploads/images/.../img.jpg"
Это дает универсальность и независимость от протокола. Но возникает проблема с RSS, т.к. в RSS потоке относительные ссылки не работают. По всей видимости, если переходить на относительные ссылки, то необходимо в ActionRSS делать replace для относительных ссылок и добавлять к ним {Config::Get('path.root.web')}

3. Внутренние ссылки в контенте.
Для внутренних ссылок существует универсальный способ href="http://site.com/..." -> href="//site.com/...". В данном случае протокол у ссылки будет задействован тот, в котором открыта страница со ссылкой. Решение универсальное, но распространяется только на внутренние ссылки. Вероятно, возможно применить это, делая replace в контенте при условии что это внутренняя ссылка.

Как перевести сайт полностью на https

Друзья помогите, купил SSL сертификат, хочу полностью перевести сайт на HTTPS, без подключения плагина «HTTPS Detect».

Проблема такая, что при подключении плагина сайт (шаблон полностью ломается), сайт открывается некорректно. Какие есть альтернативные варианты?

Несколько вопросов по LiveStreet CMS

Здравствуйте Уважаемые форумчане и просто пользователи. Уже давно слижу за развитием LiveStreet CMS. Вот сейчас с единомышленниками решились сделать один проект и для его реализации, вполне подходит LiveStreet CMS.

Признаюсь, что сам я являюсь любителем сайтостроения и для меня это только хобби, но я учусь, уже вторую неделю изучаю движок (уделяю все свободное время), правда, тяжеловато, но сдаваться я не собираюсь.

Читать дальше →

Использование IP адреса в SSL-сертификате

Некоторым пользователям требуется выпустить SSL-сертификат для IP адреса. В каких случаях это может понадобиться? Давайте рассмотрим.
Сертификат выпускается для IP адреса в случае, если при переходе на Ваш ресурс в адресной строчке Вы видите IP адрес в качестве URL.
Например, такой: 179.16.12.0/

Читать дальше →