无法匹配任何路由:base href 后缀

Cannot match any routes: base href suffix

我有一个 Angular 应用程序已部署到 my-machine:8111/my-app 的 IIS Web 应用程序。我已将 中提到的基本标签和 APP_BASE_HREF 值设置为应用程序的绝对值 URL:https://my-machine:8111/my-app/.

出于某种原因,当我最初加载应用程序时——当我点击那个绝对 URL——我得到一个错误:

Error: Cannot match any routes. URL Segment: 'my-app'

我不知道为什么 Web 应用程序名称被读取为 Angular 路由的一部分。我确定基础 URL 是正确的:如果我使用最后一个斜线或尝试相对路径,我什至无法加载应用程序。

为什么它不路由到 /?我该如何解决?

APP_BASE_HREF 以下列方式使用:{{host}}:{{port}}{{APP_BASE_HREF}},并且您的 APP_BASE_HREF 设置为完整字符串 "https://my-machine:8111/my-app/" 它期望将其附加到 { {APP...}} 部分。它只需要 {{host}}:{{port}} 之后的部分,因为这两项已经由您的服务器处理了。

APP_BASE_HREF 设置为 "/my-app" 将解决当前问题,但您的 IIS 服务器可能需要额外调整,例如路由参数转发,您的应用才能 100% 正常运行。