背景图像网址在生产服务器上不起作用

时间:2014-04-15 18:35:20

标签: html asp.net-mvc css3 asp.net-mvc-4

在VS 2013 localhost中,背景图像使用以下设置完美运行:

.body-content {
    padding-left: 15px;
    padding-right: 15px;
    height: 100%;

    background-image: url("/Content/Img/MainPageBackground.jpg");

    background-repeat: no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: 100% 100%;
    background-position: center;
}

但是在部署到生产服务器(IIS7)后,背景图像不会显示。 由于图像现在存储在不同的位置,我知道必须相应地更新URL路径。但是,我已经尝试了所有路径组合而没有成功。服务器中图像的新位置是

C:\应用\客户\ HDC \客户\内容\图\ MainPageBackground.jpg

这对它的任何缩短组合都不起作用。

background-image: url("C:/App/Clients/HDC/Client/Content/Img/MainPageBackground.jpg")
background-image: url("/App/Clients/HDC/Client/Content/Img/MainPageBackground.jpg")

依旧......

注意:虚拟目录是“C:\ App \ Clients \ HDC \ Client”

2 个答案:

答案 0 :(得分:1)

有3个可能性:

  • 您错误拼写了文件名或部分路径
  • 您尚未将该文件包含在项目中,或者它的构建操作为" none" (检查VS中的文件属性),使其在部署包中不存在
  • 您已部署项目,以便应用程序根目录是主机名的子站点(例如www.myhostname.com/site-name /)

在前两种情况下,修复应该是明确的。在最后一种情况下(在任何情况下),我强烈建议使用bundling样式表,并使用以下语法指定样式表的路径:

background-image: url("~/Content/Img/MainPageBackground.jpg");

注意路径前的波浪号(~)。

答案 1 :(得分:0)

您可以做的一件事就是尝试在服务器上查找文件!

对于url site.com/Content/Img/MainPageBackground.jpg中的intstance类型

并查看其是否符合您的预期

另外我建议使用全部小写,windows不区分大小写,但其他操作系统通常区分大小写!

=)

修改

OH我知道了。除非您想要转到根目录,否则不要在内容之前使用/!所以删除/并尝试!

background-image: url("Content/Img/MainPageBackground.jpg");

如果你需要退一步并移动像这样完成的目录

background-image: url("../../Content/Img/MainPageBackground.jpg"); 

但是没有足够的信息来告诉你的确切需要=)