-->

通过HTTP和HTTPS访问ExpressionEngine(ExpressionEngine ac

2019-09-21 23:44发布

我们有我们通过HTTP和HTTPS访问的网站ExpressionEngine。 我们的用户通过HTTPS访问,因为有些资产是不安全的访问(CSS和图像引用存在,在这种情况下),当从IE得到安全警告。

这种情况发生在设置“常规配置 - > URL到您的网站的根目录”包括HTTP://协议标识符(其中,字段留空,只需设置到站点域[example.com],或没有协议设定[//example.com/]中,我们遇到的其他问题,所以这些都不是一个真正的选择)。 有问题的网址,当然,那些具有{路径=}或在模板生成{样式=}。

有没有好的办法让通过相同的协议页面提供的所有资产?

谢谢,斯科特

Answer 1:

这是因为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 (商业)

(排名不分先后),我没有用任何这些使我用我自己的插件不能推荐一个具体的一个。



Answer 2:

你需要包括根网址是什么? 很多时候,我会设置一个网站只是“/”的根URL。

另一种选择是手动包括(不使用路径或风格佣工)的资产。

如果URL realtive它会自动继承当前协议。



Answer 3:

您可以检测与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配置覆盖



文章来源: ExpressionEngine access via both http and https