我在win2008服务器上使用VS2008开发了一个非常好的MVC Beta应用程序。当我尝试将其部署到IIS6虚拟目录时,我的麻烦就开始了。在目标win2003服务器盒上安装MVC Beta之后,我能够从虚拟目录中显示应用程序,但缺少所有图像和css属性。占位符建议图像应位于根网站而不是应用程序运行的虚拟目录。
实际路径:
http://localhost/Content/images/<myimage>.png
而不是:
http://localhost/<virtualdirectory>/Content/images/<myimage>.png
如果我在自己的网站(Root)中安装应用程序,一切正常。我可以通过将Web属性设置为“使用Visual Studio开发服务器”/特定端口/并添加虚拟路径,在VS2008中复制它。
我也可以通过将项目的Web属性设置为“使用本地IIS Web服务器”并创建虚拟目录来复制它。
关于mvc url路由,我有一些明显的遗漏。这里的任何指导将不胜感激。
答案 0 :(得分:5)
你是如何引用图像的?他们应该开始“〜/”表示“app root”(“/”是“站点根”) - 即“/Content/images/myimage.png”。
但是,有些控件会将其发送给客户端而不替换虚拟路径;对于相关的线程(谈论js,但概念是相同的),请参阅here(包括一个简单的解决方案/示例方法)。
此外 - 虚拟应用程序? cog icon ...
考虑母版页中的<base href...>
标记(到app根目录)