如何在IIS发布后修复CSS中的图像路径?

时间:2013-09-30 19:49:01

标签: css asp.net-mvc iis

我是MVC(V4)的新手,我将网站发布到IIS后出现问题。 通过Web浏览器(和页面检查器)在IIS express中查看时,我的网站运行正常。但是,当我将我的网站(通过VS2012)发布到IIS时,我的CSS中的所有图像都被破坏了。

我的CSS文件夹如下:

ROOT\Content\MyCss

我的图片文件夹是:

ROOT\Images\MyImages

IIS虚拟目录和项目目录中的文件夹结构相同。

我的所有图片都是这样引用的:

../../Images/MyImages/image.jpg

当我将CSS引用更改为../Images/MyImages/image.jpg时,它会再次开始工作。 这不包括IIS应用程序/虚拟目录的实际物理文件夹路径。

我将不胜感激任何帮助解决这个问题。

1 个答案:

答案 0 :(得分:0)

如果您正在使用捆绑包,则应使用〜/ eg。在您的观点中@Styles.Render("~/bundles/stylebundle")

定义捆绑包时,始终使用〜/启动文件路径。例如

bundles.Add(new StyleBundle("~/bundles/test") .Include("~/content/test/test.css"));

css中的任何路径都应该与css文件本身相关。

例如background-image: url('../../Images/test.jpg');

我刚刚使用您拥有的相同结构构建了一个测试站点,并坚持我上面所写的内容,并且它都可以在调试和发布中使用。要在您的本地计算机上伪装发布模式,请添加

BundleTable.EnableOptimizations = true;