Ssl 为什么在HTTPS下不显示图像和CSS?

Ssl 为什么在HTTPS下不显示图像和CSS?,ssl,https,Ssl,Https,我刚刚在我的网站上添加了一个SSL。当我转到时,我看到文本,但没有CSS或图像。它位于专用服务器上,我完全控制代码 当前所有路径都是相对的。当我直接使用HTTP或HTTPS访问这些文件时,我可以查看图像和css。但是当我加载一个页面时,他们没有加载 当我使用Firebug并在网络中查找时,我看到了找到的每个图像302。这是什么意思 我需要做哪些更改来确保http和https以类似的方式显示站点 我是否将所有路径都设置为绝对路径?有没有一种方法可以让一个改变影响到所有人,或者我真的必须去改变每一个

我刚刚在我的网站上添加了一个SSL。当我转到时,我看到文本,但没有CSS或图像。它位于专用服务器上,我完全控制代码

当前所有路径都是相对的。当我直接使用HTTP或HTTPS访问这些文件时,我可以查看图像和css。但是当我加载一个页面时,他们没有加载

当我使用Firebug并在网络中查找时,我看到了找到的每个图像302。这是什么意思

我需要做哪些更改来确保http和https以类似的方式显示站点

我是否将所有路径都设置为绝对路径?有没有一种方法可以让一个改变影响到所有人,或者我真的必须去改变每一个


谢谢

您不需要将所有内容都绝对化,但需要确保您的CSS和图像可以通过SSL访问。尝试直接访问它们,或者使用Firebug或类似的浏览器工具来确定它试图从何处加载它们。考虑使用“协议相对URL”,以便CSS、图像等总是使用与页面本身相同的协议(HTTP或HTTPS)访问。p> 您有热链接保护吗?如果您已经尝试禁用它。看看是否有帮助。

我也有同样的问题。若页面是用https打开的,那个么css/js也应该用https加载。我的意思是,要加载css/js,它应该使用与打开html/jsp/jsf等页面相同的协议。因此,解决方案是不对css/js使用绝对url。使用相对url,如下所示:

<link type="text/css" rel="stylesheet" href="../css/style.css" />

或者使用以下命令:

<% String contextPath=request.getScheme()+"://"+request.getServerName()"+":"+request.getServerPort()+request.getContextPath();

如果您使用绝对链接指向CSS(如
http://www.yourcompany.net/yourcompany.css
)它不会在https中显示CSS。如果你把它变成绝对的
https://www.yourcompany.net/yourcompany.css
,它将在两个调用中都能工作。

我可以看到我的图像和带有HTTP和HTTPS的CSS,但显然它们不会加载。另外,当我转到我的HTTPS页面并在FF中查看源代码,然后单击CSS链接时,它会将我带到HTTP。。。但如果我点击一个链接,而在HTTPS页面上,它会加载另一个页面作为HTTPS。我有点困惑。您可以使用双正斜杠表示绝对,但使用相同的协议:例如“//css/myfile.css”。您可以(在您的htaccess中)编写如下内容:RewriteCond%{HTTP\u REFERER}^HTTP(s)?:/(www\)?XXX.com什么是热链接保护?