簡體   English   中英

深層路由無法正常工作的角度html5模式后備

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM