[英]angular html5 mode fallback for deep routes not working
我已经使用node.js在角度设置了html5模式,但是对于不支持html5模式的浏览器,哈希回退不适用于深度超过1级的路由。
服务器路由捕获所有:
app.all('/*', function(req, res) {
console.log('serve');
res.sendFile(__dirname+'/public/index.html');
});
我在开头标签之后紧接了一个基本标签。
<base href="/">
现在,当我访问类似“ localhost / news”的网址时
为了支持浏览器,该站点将在相同的URL上加载,并且服务器将被命中一次,并记录“ serve”;对于不受支持的浏览器,它将URL更改为localhost /#/ news,这非常好。
现在,对于像localhost / news / post1这样的URL,支持的浏览器再次可以正常工作,但是不支持的浏览器可以加载index.html文件,没有样式或JS,并且服务器被击中了很多次,日志记录服务了50多次, URL未被修改,页面仍然损坏。
我要测试的浏览器是IE9,有人知道解决方案吗?
您是否尝试过在节点服务器中使用express静态设置路由? 对于您的路由,在server.js中,它看起来像这样:
app.use('/news', express.static(__dirname + '/public'));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.