我有一个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是正确的:如果我使用最后一个斜杠或尝试相对路径,我甚至无法加载应用程序。
为什么不路由到/
?我该如何解决?
答案 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%正常运行之前进行额外调整,例如路由参数转发。