我是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应用程序/虚拟目录的实际物理文件夹路径。
我将不胜感激任何帮助解决这个问题。
答案 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;