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

时间:2017-09-06 23:37:52

标签: angular angular2-routing

我有一个Angular应用程序,我已部署到my-machine:8111/my-app的IIS Web应用程序。我已将this answer中提到的基本标记和APP_BASE_HREF值都设置为应用的绝对网址:https://my-machine:8111/my-app/

出于某种原因,当我最初加载应用程序时 - 当我点击绝对URL时 - 我收到错误:

  

错误:无法匹配任何路线。网址细分:'my-app'

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

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

1 个答案:

答案 0 :(得分:1)

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%正常运行之前进行额外调整,例如路由参数转发。