[英]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.