重定向不包含AngularJS中的#的URL

时间:2018-04-12 21:30:52

标签: angularjs routing

使用带有哈希的路由网址被重定向(即http://www.example.com/#/random)。

然而,当我访问http://www.example.com/random时,我没有被重定向,而是获得了无法获取/随机。

这是否有解决方法?

由于

1 个答案:

答案 0 :(得分:0)

这里发生的事情是浏览器可以控制当前呈现的页面的URL,并且可以以不会从服务器返回相同内容的方式对其进行更改。所以一般来说,你希望这两者保持一致。

从你问你的问题的方式我假设你有SPA并想要一些客户端路由,你的服务器只是渲染完成所有工作的bootstrapped SPA页面。

在这种情况下,您要执行的操作是强制服务器端为SPA使用的所有URL返回相同的SPA引导页面。

E.g。现在你可能有一些东西(比如express.js):

grid

您需要添加

pack

到你的路由逻辑的最后。

您的客户端代码已经有客户端路由,只会吃它。

或者,您可以立即为 app.get('/',rednerMyAngularBootstrap) 呈现内容,但这是另一个讨论的主题。