静态内容不适用于XP上的IIS中的虚拟目录

时间:2012-05-21 07:15:48

标签: asp.net-mvc iis

我在XP上遇到了一个奇怪的问题。

我有一个ASP.MVC Web应用程序,其虚拟目录指向它。

应用程序工作正常,我看到生成的html页面。 问题是我得到了所有静态内容文件(css,js和图像文件)的404错误。

真正奇怪的是,如果我直接在目录上创建一个静态内容的应用程序,但我无法从指向同一目录的虚拟目录中获取静态内容!。

顺便说一下,静态内容可以从VS2010为应用程序创建的虚拟目录中正常运行。

我发现在VS2010创建的虚拟目录(有效)和无效的虚拟目录之间的IIS配置上没有任何差异。

我有任何想法,我会非常感激......

谢谢,

Nadav

1 个答案:

答案 0 :(得分:1)

我怀疑你已经将url硬编码为那些静态文件:

<script type="text/javascript" src="/scripts/foo.js"></script>

而不是使用Url助手:

<script type="text/javascript" src="@Url.Content("~/scripts/foo.js")"></script>
当应用程序托管在虚拟目录中时,

当然会考虑虚拟目录的存在并为此静态文件生成正确的URL:

<script type="text/javascript" src="/myappname/scripts/foo.js"></script>