要求SSL后缺少样式

时间:2018-09-04 18:23:50

标签: asp.net-mvc

在空白的ASP.NET MVC应用程序中要求SSL后,某些内容不再加载。具体来说,至少一个样式表没有生效,如下面的屏幕截图所示。控制台中没有任何内容。我假设我需要在某个地方更改对HTTPS的HTTP引用,但是看起来所有脚本文件都包含在项目中,而不是在线引用。

关于如何解决此问题的任何建议?

enter image description here

1 个答案:

答案 0 :(得分:1)

这是因为在http://上引用了CSS文件,但是网页在https://

被称为“混合内容”错误

如果您的网站同时在http://https://上都可以运行,则有2种选择

  1. 使网站的http://版本重定向到https://版本(推荐)
  2. 仅使用//(两个正斜杠)而不是http://https://,使指向CSS文件“ scheme relative”(也称为“ protocol relative”)的链接< / p>

    例如//css/mycssfile.css而不是http://css/mycssfile.css

方案相对网址(以//开头)将使用与网页相同的协议。

因此,如果您的页面位于https://上,那么//css/mycssfile.css意味着使用https://来获取css文件。 http://也是如此,//表示使用http://来获取css文件。