【发布时间】:2013-12-27 08:42:47
【问题描述】:
当使用 CssRewriteUrlTransform 时,MVC 的捆绑在 CSS 图像中返回错误的 URL:
我有一个内部网应用程序,其 URL 为,例如:http://usid01-srv002/MyApplication。它位于 IIS 的“默认网站”中。
BundleConfig.cs中有以下内容:
bundles.Add(new StyleBundle("~/bundles/jcss")
.Include("~/Scripts/JQueryUI/css/*.css", new CssRewriteUrlTransform())
);
捆绑系统正在为这些 CSS 文件中引用的任何图像生成错误的 URL,从而产生 404 甚至 JQueryUI 的经过良好测试的 CSS 文件(来自 FireBug):
例如它正在生成
http://usid01/path/foo.png
什么时候应该生成:
http://usid01/MyApplication/path/foo.png
如何让捆绑系统生成指向正确位置的 URL?
【问题讨论】:
-
你是如何定义你的 CssRewriteUrlTransform 类的?
-
@lin:我没有。据我所知,它没有很多选择:msdn.microsoft.com/en-us/library/…
-
你说得对,它没有太多选择。但如果这些选项设置不正确,您将无法获得绝对路径。此链接可能会对您有所帮助。 aspnetoptimization.codeplex.com/workitem/83
-
我从中得到的:不要在带有路径的 CSS 上使用捆绑,因为它被破坏了,除非在非常简单的情况下。直接链接缩小的 CSS 要容易得多。
标签: css asp.net-mvc relative-path asp.net-mvc-5 bundling-and-minification