Все,
Вот как я использовал Apache и файл Config.php для перезаписи URL-адресов, чтобы не вызывать «предупреждения о не-SSL-контенте» из браузеров. Я все еще использую переменные {path} и {stylesheet} в своих шаблонах, потому что они слишком хороши, чтобы отказываться от них :)
В файле htaccess Apache:
# Set an Apache 'site_url' variable to http when accessed via http:
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ - [E=site_url:http://mysite.com]
# Set Apache 'site_url' variable to https when accessed via https
RewriteCond %{SERVER_PORT} 443
RewriteRule ^(.*)$ - [E=site_url:https://mysite.com]
Затем в system/expressionengine/config.php
Добавьте следующие две строки в свой код (убедитесь, что вы не установили эти переменные где-либо еще в файле конфигурации)
$config['base_url'] = $_SERVER["site_url"];
$config['site_url'] = $_SERVER["site_url"];
Насколько я понимаю, переменная site_url — это то, что EE использует для {таблиц стилей} и {путей} в EE.
Пословица "Одна последняя вещь":
Если вы по-прежнему получаете предупреждение об отсутствии SSL, просто просмотрите исходный код и найдите в нем «http://». Это виновники. Это жестко закодированные ссылки, которые не устанавливаются с помощью переменных base_url/site_url.
Вам нужно будет найти эти http-вызовы в своих сообщениях/шаблонах/переменных/фрагментах и заменить эти вызовы простым //.
Таким образом, вызов
http://example.com/some_file.html
теперь должно выглядеть так:
//example.com/some_file.html.
Это работает для абсолютных и относительных URL-адресов.
Это также верно для пути, который вы указали для каталогов загрузки файлов EE. Обязательно измените URL-адрес этих каталогов, чтобы он выглядел так
//example.com/path/to/your/upload/directory
И вуаля, вы должны быть готовы к работе :)
person
Benjamin Mailian
schedule
21.02.2013