ASP.net MVC bundles https



asp.net MVC 捆绑包不会为 https 渲染。

这是我的代码:

bundles.Add(new StyleBundle("~/Content/css/css").Include("~/Content/css/custom.css"));

视图

@Styles.Render("~/Content/css/css")

我得到的错误代码是:

混合内容:'https://domain/'的页面是通过 HTTPS 加载的,但请求了一个不安全的样式表'http://domain:443/Content/css/custom.css'。此请求已被阻止;内容必须通过 HTTPS 提供。

你有 ~/Content/css/css 作为你的应用程序中的真实路径吗?

IIS 可能正在尝试处理该请求。

重命名您的捆绑包或应用程序中的文件夹,它应该可以工作。

所以试试这个:

bundles.Add(new StyleBundle("~/Content/core.css").Include("~/Content/css/custom.css"));

那么在您看来:

@Styles.Render("~/Content/core.css")

样式包名称可以是您想要的任何内容,它不必与 CSS 文件的实际位置相关。

更新

如果您收到混合内容错误,那是因为您的某些内容是通过HTTPS发送的,而其他内容是通过HTTP传入的。

克服此问题的最佳方法是在所有内容上使用//。

例如,假设您有这样的图像

<img src="http://website.com/images/smiley.gif">

也改变它

<img src="//website.com/images/smiley.gif">

这应该会阻止您的混合内容警告。

使用不同的捆绑文件夹

喜欢, 更新

bundles.Add(new StyleBundle("~/Content/css/css").Include("~/Content/css/custom.css"));

bundles.Add(new StyleBundle("~/CssBundles/css/css").Include("~/Content/css/custom.css"));

如果使用捆绑包位置的现有项目文件夹,则会发生此问题。

相关内容

最新更新