首页 > 解决方案 > Angular 到非 Angular 页面打破历史记录,点击返回将我们带到应用基础 href

问题描述

我们正在将我们的一些网站迁移到 Angular 应用程序。我们正在实现这些路径,以便它们与旧的 URL 结构相匹配,这样我们就不会破坏链接,也不必重定向。

使用 Angular 6

在使用 Angular 应用程序导航时,后退和前进按预期工作。它从一条路线到另一条路线。

/angular/path/ -> /angular/second-path -> (back button) -> /angular/path/

当我导航到非 Angular 页面然后单击返回时,它会转到基础。

/angular/path/ -> /non-angular/second-path -> (back button) -> / (base)

当我导航到非 Angular 页面然后在新选项卡中打开后退按钮时,它会转到正确的页面。

/angular/path/ -> /non-angular/second-path -> (back button to new tab) -> /angular/path/

它使用延迟加载的功能模块,但为了测试我已经尝试使用预加载的组件。同样的事情也会发生。

我在这里错过了什么吗?有没有办法确保背部正常工作?

评论中的问题:

问:你能解释一下“在新标签页中打开后退按钮”是什么意思吗?另外,如果你直接打开 /angular/path/ 会发生什么?– 弗拉德274

答:在 Windows Crtl-Click 上,在 Mac 上 Cmd-Click 分别从新选项卡中的后退和前进按钮导航到最近的地址。

问:当您从任何一个子路由直接进入应用程序时会发生什么,即如您的示例中的角度/路径?

A:它渲染正确。

编辑:我投票决定关闭它,因为它原来是服务器的问题。我们没有使用开箱即用的文件服务器,并且 https 存在问题。

标签: javascriptangular

解决方案


推荐阅读