角度html5模式回退深层路线不起作用
问题描述:
我已经建立了与node.js角度的html5模式,但对于不支持html5模式的浏览器,回退到哈希不起作用。角度html5模式回退深层路线不起作用
服务器的路由来捕获所有:
app.all('/*', function(req, res) {
console.log('serve');
res.sendFile(__dirname+'/public/index.html');
});
我已经包括了开幕头标记之后的一个基本标记。
<base href="/">
现在,当我访问喜欢的“localhost /新闻”
对于在同一个URL支持的浏览器的网站负载,服务器被击中一次,登录“服务”的URL,对于非支持的浏览器它将url更改为localhost /#/ news,这非常棒。
现在对于像localhost/news/post1这样的网址,支持浏览器再次正常工作,但不支持的浏览器加载index.html文件,没有样式或JS,并且服务器被多次点击,日志记录服务超过50 +次,网址未被修改,页面仍然被破坏。
我正在测试的浏览器是IE9,有没有人知道这个解决方案?
答
您是否尝试过使用Express在您的节点服务器中静态设置路由?对于你的路由,在你的server.js中,它看起来像这样:
app.use('/news', express.static(__dirname + '/public'));
什么路由器? IE9的深层网址是什么样的?当这种情况发生时,url对于像js和css这样的资产看起来如何? – charlietfl
网址保持不变,所以如果我在localhost/news/post-1上点击该网站,它根本不会改变 - 并且UI-router – wazzaday
使用具有或不具有协议/域的资源的绝对路径可以解决资产问题。不知道你正在使用什么路由器或版本 – charlietfl