IIS 7 - 使用别名时单页应用程序 URL 出现问题

IIS 7 - 使用别名时单页应用程序 URL 出现问题

我们的一个客户在 IIS 下有以下设置

Sites
 - applications (binds to http://applications.domain.com)
  - app1
  - app2

app1并且app2都是 .NET 单页应用程序(.NET MVC 和 .NET Web API 的组合)。

应用程序位于C:\inetpub\applications\文件夹下,并且都已转换为应用程序。因此应用程序1可在以下网址http://applications.domain.com/app1获取应用2可在http://applications.domain.com/app2

我遇到的问题是,所有 AJAX 路由都相对于根(/)路由,因此不存在,例如http://applications.domain.com/api/products不会引发 404,因为该路由实际上是http://applications.domain.com/app1/api/products

是否有 IIS 设置可以让我无需使用前缀重写所有 AJAX 调用即可完成此操作?或者是否有其他方法可以在 IIS 下配置此类设置?谢谢。

答案1

您要做的是将两个应用程序都放在它们自己的虚拟目录中——这样大多数 asp.net 调用将获得正确的文档根目录,一切也将更加正确。

要做到这一点:

  1. 创建一个假的文档根目录和假的网站 - iis7 需要某个地方来存储 web.config 文件,并且这个文件对于这个应用程序来说应该是唯一的。我会使用类似 c:\inetpub\applications\deadroot 的东西;添加一个查看此文件夹的 IIS 站点。
  2. 为 app1 添加一个虚拟应用程序,指向此站点内的 app1 文件夹
  3. 为 app2 添加一个虚拟应用程序,指向此站点内的 app2 文件夹

然后每个人都会倒立。

相关内容