我在XP上遇到了一个奇怪的问题。
我有一个ASP.MVC Web应用程序,其虚拟目录指向它。
应用程序工作正常,我看到生成的html页面。 问题是我得到了所有静态内容文件(css,js和图像文件)的404错误。
真正奇怪的是,如果我直接在目录上创建一个静态内容的应用程序,但我无法从指向同一目录的虚拟目录中获取静态内容!。
顺便说一下,静态内容可以从VS2010为应用程序创建的虚拟目录中正常运行。
我发现在VS2010创建的虚拟目录(有效)和无效的虚拟目录之间的IIS配置上没有任何差异。
我有任何想法,我会非常感激......
谢谢,
Nadav
答案 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>