我试图在角度使用html5mode,这样我就可以为http:/ myhost / products(其中/ products是由$ stateProviderRef.state(xxx)定义的路由)添加书签。
为此,我已经
了将catch all重写添加到node.js中的server.js
app.get('*',function(req,res){ res.redirect( '/'); });
重新启动节点服务器
所以会发生什么是应用程序启动正常,所有导航工作,我可以转到http://myhost/products,一切正常。
但是,如果我此时按下刷新,我将被重定向回索引页面。看起来好像ui-router正在丢失路径(/产品)或者我在配置/设置中遗漏了一些东西
我一直在浏览StackOverflow上的问题,直到我的眼睛流血,但所有类似问题的解决方案都是我已经完成的事情(base =,redirect等)
其他人有这个问题并解决了吗?如果您能分享您的发现,将不胜感激。
由于
答案 0 :(得分:1)
你不应该在服务器中重定向
app.get('*', function(req, res) { res.redirect('/'); });
相反,发送相同的index.html
app.route('/*')
.get(function(req, res) {
res.sendFile(path.resolve(app.get('appPath') + '/index.html'));
});
看看这个发电机了解更多
https://github.com/DaftMonk/generator-angular-fullstack/blob/master/app/templates/server/routes.js