【问题标题】:ASP.NET MVC deployment to IIS 5/6 with Virtual DirectoryASP.NET MVC 部署到带有虚拟目录的 IIS 5/6
【发布时间】:2009-07-31 09:48:57
【问题描述】:

我有一个 asp.net MVC 应用程序,我想使用虚拟目录部署到 IIS 5 和/或 6。

我已经执行了通配符路由,但是相对路径有问题。

假设我创建了一个名为 myApp 的虚拟目录。

部署后,我可以转到http://localhost/myApp 并看到索引页面。我的索引页面有一个定义为<a href="/Employees">Employees</a>. 的链接单击此导航到 http://localhost/Employees 导致 404 错误。

我希望它导航到 http://localhost/myApp/Employees,但如果我不必将虚拟目录名称编码到我的项目中,我更喜欢它。

提前感谢您的帮助。

【问题讨论】:

    标签: asp.net-mvc iis


    【解决方案1】:

    使用 Html.ActionLink 来生成你的超链接而不是直接创建它们,我认为这会为你排序。或者,使用 ./Employees 可以将您带到您想去的地方。

    【讨论】:

      【解决方案2】:

      使用Url.Content

      <a href="<%= Url.Content("~/Employees") %>">Employees</a>
      

      【讨论】:

        【解决方案3】:

        不要使用绝对引用:不要使用'/Employees',只需使用不带/'Employees'

        【讨论】:

          【解决方案4】:

          网址重写可以帮助您解决问题。我已经实现了允许在任何 IIS 版本上部署 MVC 应用程序的解决方案,即使使用虚拟主机也是如此。 http://www.codeproject.com/KB/aspnet/iis-aspnet-url-rewriting.aspx

          【讨论】:

            猜你喜欢
            • 2010-10-11
            • 1970-01-01
            • 2023-04-04
            • 1970-01-01
            • 1970-01-01
            • 2017-05-22
            • 1970-01-01
            • 2010-11-29
            • 2010-09-16
            相关资源
            最近更新 更多