SSL 和 CSS 背景图像导致的混合内容
我有一个包含报名表的网页。 HTTPS 通过 Apache 重定向启用,用于匹配该页面的所有请求。不幸的是,由于 CSS 使用“background-image: url(/images/...)”引入外部图像,浏览器将生成一条警告消息,表明该页面包含混合内容。
解决这个问题的最佳方法是什么?
I have a web page containing am entry form. HTTPS is enabled via an Apache redirect for all requests matching that page. Unfortunately, because the CSS pulls in external images using 'background-image: url(/images/...)', the browser will generate a warning message that the page contains mixed content.
What's the best way to resolve this issue?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
资料来源:Paul Irish – 协议相对 URL
这是一个非常流行的解决方案:
有一个小技巧可以让你摆脱困境:
在 HTML 中
在 CSS 中
Source: Paul Irish – The Protocol-relative URL
Here is a very popular solution:
There's this little trick you can get away with that'll save you some headaches:
In HTML
In CSS
您还应该为静态资源启用 HTTPS,然后确保
显式引用 CSS 资源的 HTTPS url(其相对 url 将相对于 HTTPS 基础进行解释) CSS 文件的内容)。
You should also enable HTTPS for your static resources, and then make sure that the
<link>
refers explicitly to the HTTPS url for the CSS resource (whose relative urls will then be interpreted relative to the HTTPS base of the CSS file).您应该为您的图像使用完整的 URL:
或者
这解决了我前段时间的问题。
You should use full URL for your image:
or
This solved my problem some time ago.