角度html5模式回退深层路线不起作用

角度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,有没有人知道这个解决方案?

+0

什么路由器? IE9的深层网址是什么样的?当这种情况发生时,url对于像js和css这样的资产看起来如何? – charlietfl

+0

网址保持不变,所以如果我在localhost/news/post-1上点击该网站,它根本不会改变 - 并且UI-router – wazzaday

+0

使用具有或不具有协议/域的资源的绝对路径可以解决资产问题。不知道你正在使用什么路由器或版本 – charlietfl

您是否尝试过使用Express在您的节点服务器中静态设置路由?对于你的路由,在你的server.js中,它看起来像这样:

app.use('/news', express.static(__dirname + '/public'));