在空白的ASP.NET MVC应用程序中要求SSL后,某些内容不再加载。具体来说,至少一个样式表没有生效,如下面的屏幕截图所示。控制台中没有任何内容。我假设我需要在某个地方更改对HTTPS的HTTP引用,但是看起来所有脚本文件都包含在项目中,而不是在线引用。
关于如何解决此问题的任何建议?
答案 0 :(得分:1)
这是因为在http://
上引用了CSS文件,但是网页在https://
上
被称为“混合内容”错误
如果您的网站同时在http://
和https://
上都可以运行,则有2种选择
http://
版本重定向到https://
版本(推荐)仅使用//(两个正斜杠)而不是http://
或https://
,使指向CSS文件“ scheme relative”(也称为“ protocol relative”)的链接< / p>
例如//css/mycssfile.css而不是http://css/mycssfile.css
方案相对网址(以//开头)将使用与网页相同的协议。
因此,如果您的页面位于https://
上,那么//css/mycssfile.css
意味着使用https://
来获取css文件。 http://
也是如此,//表示使用http://
来获取css文件。