我们有我们通过HTTP和HTTPS访问的网站ExpressionEngine。 我们的用户通过HTTPS访问,因为有些资产是不安全的访问(CSS和图像引用存在,在这种情况下),当从IE得到安全警告。
这种情况发生在设置“常规配置 - > URL到您的网站的根目录”包括HTTP://协议标识符(其中,字段留空,只需设置到站点域[example.com],或没有协议设定[//example.com/]中,我们遇到的其他问题,所以这些都不是一个真正的选择)。 有问题的网址,当然,那些具有{路径=}或在模板生成{样式=}。
有没有好的办法让通过相同的协议页面提供的所有资产?
谢谢,斯科特
这是因为EE变量不检测或默认HTTPS使用,所以你必须设置他们的代码。 最简单的方法是使用一个附加:
http://devot-ee.com/add-ons/https-support
http://devot-ee.com/add-ons/dm-force-ssl
http://devot-ee.com/add-ons/force-ssl (商业)
(排名不分先后),我没有用任何这些使我用我自己的插件不能推荐一个具体的一个。
你需要包括根网址是什么? 很多时候,我会设置一个网站只是“/”的根URL。
另一种选择是手动包括(不使用路径或风格佣工)的资产。
如果URL realtive它会自动继承当前协议。
您可以检测与PHP的协议,并在动态地设置system/expressionengine/config/config.php
文件。 我用的是这样的:
$protocol = (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on") ? "https://" : "http://";
$base_url = $protocol . $_SERVER['HTTP_HOST'];
$config['base_url'] = $base_url . "/";
您可以将所有在此基础上建立自己的主题路径,各种图像路径,上传路径等config.php
。 但是$config['site_url']
是什么影响的输出{path=""}
和{stylesheet}
的标签。
欲了解更多信息,请参阅NSM的配置引导文件或物品配置ExpressionEngine多台服务器 。 对于所有你能在设定的路径config.php
,见EE2配置覆盖