我也做了以下内容: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