1

我在 win2008 服务器上使用 VS2008 开发了一个非常不错的 MVC Beta 应用程序。当我试图将它部署到 IIS6 虚拟目录时,我的麻烦就开始了。在目标 win2003 服务器上安装 MVC Beta 后,我能够从虚拟目录中显示应用程序,但所有图像和 css 属性都丢失了。占位符建议图像应该位于根网站,而不是应用程序运行的虚拟目录。

实际路径:

http://localhost/Content/images/<myimage>.png

而不是:

http://localhost/<virtualdirectory>/Content/images/<myimage>.png

如果我将应用程序安装在它自己的网站(根)中,一切正常。我可以通过将 Web 属性设置为“使用 Visual Studio 开发服务器”/特定端口/并添加虚拟路径来在 VS2008 中复制它。

我还可以通过将项目的 Web 属性设置为“使用本地 IIS Web 服务器”并创建一个虚拟目录来复制它。

关于 mvc url 路由,我显然缺少一些东西。这里的任何指导将不胜感激。

4

1 回答 1

5

你是如何参考这些图像的?他们应该以“~/”开头来表示“应用程序根”(“/”是“站点根”) - 即“/Content/images/myimage.png”。

但是,有些控件会在不替换虚拟路径的情况下将其发送给客户端;对于相关线程(谈论js,但概念相同),请参见此处(包括一个简单的解决方案/示例方法)。

另外-虚拟是应用程序吗?齿轮图标...

考虑<base href...>母版页中的标签(到应用程序根目录)

于 2009-01-17T09:33:57.253 回答