HTTPS和HTTP ExpressionEngine站点URL标记

Gar*_*eth 8 expressionengine

我今天发现,如果您访问的EE站点在文档头中的css链接路径中使用{site_url}标记,则如果您键入https而不是http,则该站点无法加载CSS文件.

我已经通过使用htaccess文件来强制转到http,但我只是想知道EE中是否有一个设置可以更改以使两者都工作?

这只发生在Chrome和IE上,我猜你的浏览器设置取决于安全性.

小智 7

之前对这个问题有了很大的帮助.我希望它现在也对你有用.


Vic*_*rez 6

很少有人知道您可以将协议相对URL用于资产

例:

<link rel="stylesheet" href="//www.site.com/site.css">
<script type="text/javascript" src="//www.site.com/site.js"></script>
Run Code Online (Sandbox Code Playgroud)

如果浏览器通过HTTPS查看SSL中的页面,那么它将使用https协议请求该资产,否则它将使用HTTP请求它.

这可以防止IE中的"此页面包含安全和非安全项目"错误消息,将所有资产请求保留在同一协议中.

从更多信息在这里:

根据RTF 3986,没有方案(http:或https :)的相对URL有效:第4.2节.如果客户端阻塞它,那么它就是客户端的错误,因为它们不符合RFC中指定的URI语法.

您的示例有效且应该有效.我自己在交通繁忙的网站上使用过这种相对网址方法而没有投诉.此外,我们在Firefox,Safari,IE6,IE7和Opera中测试我们的网站.这些浏览器都了解URL格式


Cre*_*ean 5

当我加载CSS和JS时,我从不使用域,我只是相对设置它.例如:

<link rel="stylesheet" href="/layout/styles/layout.css" >
Run Code Online (Sandbox Code Playgroud)

如果你尝试这样做有用吗?