【问题标题】:Relative URLs broken when ASP.net MVC application added to existing web site in IIS当 ASP.net MVC 应用程序添加到 IIS 中的现有网站时,相对 URL 被破坏
【发布时间】:2017-04-30 01:48:33
【问题描述】:

当应用程序被“添加”到 IIS 中的现有网站时,我们的 @Url.Actions 的相对路径似乎中断了。

步骤:

  1. 使用@Url.Action 链接开发应用程序。
  2. 将应用程序部署到 IIS。
  3. 在 IIS 管理器中转到现有网站,右键单击并“添加应用程序”。
  4. 相对链接现已断开

我们的操作代码如下所示: @Url.Action("搜索", "首页")

我们添加的应用程序及其别名如下所示:

http://myexistingapplication/my-new-added-application-alias

提前感谢您提供的任何帮助。

【问题讨论】:

  • 那么@Url.Action("Search", "Home")生成的Url结果是什么?
  • 您在应用程序中有一个应用程序?您现有的应用程序中是否有自定义路由?
  • Igor,如果将 Url.Action 用于表单操作或构建超链接,将始终导致找不到 404 页面。此外,将找不到任何依赖的 css 样式表或 javascript 文件。
  • Ross,只有在 IIS 级别上才是应用程序中的应用程序。这是通过 IIS 管理器实现的......一个示例使用场景是,如果您有一个应用程序已经存在多年,并且您已经编写了一些新应用程序并希望它挂起现有的应用程序主机名/网站.没有自定义路由。
  • @ChristopherCrisis Url.Action 使用 url 呈现 string。您可以在 *.aspx 页面中呈现它。那么结果网址是什么?我知道如果你浏览这个网址,你会得到 404。

标签: c# asp.net asp.net-mvc asp.net-mvc-4 iis


【解决方案1】:

我需要添加以下规则,以便覆盖破坏我的 MVC 路由的 Wordpress 重写。

       <rule name="my-application-alias" stopProcessing="true">
        <match url="my-application-alias" />
      </rule>

在这里找到答案:

http://bluetoque.ca/2010/12/installing-an-mvc-application-in-a-subdirectory-of-wordpress/

【讨论】:

    猜你喜欢
    • 2012-03-31
    • 1970-01-01
    • 1970-01-01
    • 2015-02-12
    • 1970-01-01
    • 2014-09-02
    • 1970-01-01
    • 1970-01-01
    • 2017-01-07
    相关资源
    最近更新 更多