我有一个 MVC 5 Web 应用程序,在使用 IIS 8 在 Windows 2012 R2 服务器上部署时无法解析图像,但在本地计算机上运行时工作正常。
在控制台中收到以下错误消息:
GET http://test-myurl/Content/Images/gb_uk.png 500 (Internal Server Error)
这是内容文件夹的层次结构:
|-Content
|-Images
|-gb_uk.png
|-gb_uk-yellow.png
|-bootstrap.css
|-Site.css
|-custom.css
我已将样式表添加到我的
BundleConfig.cs
中的捆绑包中,如下所示:
bundles.Add(new StyleBundle("~/Content/css").Include(
"~/Content/bootstrap.css",
"~/Content/Site.css",
"~/Content/custom.css"))
我像这样引用 .css 文件中的图像:
background-image: url(Images/gb_uk.png);
我在我的
_Layout.cshtml
中调用样式,如下所示:
@Styles.Render("~/Content/css")
看起来一切都设置得很好,但由于某种原因,当我们将其部署到服务器时,在尝试加载图像时收到错误 500 代码。
我们已经尝试了服务器上与权限设置有关的所有内容。尝试向文件夹权限添加不同的用户。
我们已将
BundleTable.EnableOptimizations = true
添加到 global.aspx 文件中,但仍然没有任何变化。此时已经没有想法了。
其他人以前也遇到过这个问题吗?我尝试环顾四周,我发现的最接近的东西是:
https://stackoverflow.com/a/11386982/2858978
我按照这个一直到T,但它仍然不起作用。样式表加载正常,但图像未加载。
我知道这是一篇非常旧的帖子,但我在新的 Server 2019 版本中遇到了这个问题。使用 Windows 身份验证,应用程序池身份需要正确的“身份验证后模拟客户端”才能访问此类图像。授予应用程序池身份的权限然后运行 iisreset 为我解决了这个问题。