我也做了以下內容:Nginx的重寫規則Angularjs刪除#散列在URL中的動態路由
AngularJS應用
在app.js:
$locationProvider.html5Mode(true);
在index.html:
<base href="/">
nginx的配置
location/{ try_files $uri /index.html; }
部署後,東西都工作正常(#井號被移除)與靜態頁面。我可以直接去http://fakeurl/about
或http://fakeurl/download
頁面;如果我刷新瀏覽器,頁面仍然加載。
然而,當我直接到動態頁面:
http://fakeurl/cars/:car_id
然後nginx的將成爲404
如果我用的是#路徑,然後將其重定向到的路徑沒有#簽署並顯示該頁面;但是當我再次刷新頁面,它顯示404(這僅與動態路由發生)
http://fakeurl/#/cars/:car_id
http://fakeurl/#/shops/:shop_id
什麼重寫規則,我需要在nginx的塊寫爲我的動態路線?謝謝!
你只需要加載index.html,你正在做什麼,你可以檢查它試圖訪問什麼文件,導致404(檢查錯誤或訪問日誌)? – Satys