我今天发现,如果您访问的EE站点在文档头中的css链接路径中使用{site_url}标记,则如果您键入https而不是http,则该站点无法加载CSS文件.
我已经通过使用htaccess文件来强制转到http,但我只是想知道EE中是否有一个设置可以更改以使两者都工作?
这只发生在Chrome和IE上,我猜你的浏览器设置取决于安全性.
很少有人知道您可以将协议相对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格式
当我加载CSS和JS时,我从不使用域,我只是相对设置它.例如:
<link rel="stylesheet" href="/layout/styles/layout.css" >
Run Code Online (Sandbox Code Playgroud)
如果你尝试这样做有用吗?