文章详情页
Nginx解决history模式下页面刷新404问题示例
目录
- 前置知识
- Nginx
- location
- 常用匹配规则
- root 与 alias
- 解决刷新后出现404的问题
- 总结
前置知识
- 单页应用(SPA - single page application)
只在第一次加载页面时,返回唯一的html页面和它的公共静态资源,后续的页面跳转都不会从服务端拿html文件。(hash和history路由实现浏览器url变化而不刷新页面) - hash路由
例子:www.baidu.com/#/home, 原本hash是用来结合锚点实现页面试图的控制,当#后面的值发生改变时不会重新请求页面,主要通过window的onhashchange方法来实现。 - history路由
相比于hash路由,最直观的变化就是路由中没有#,通过调用window.history对象上的一系列方法来实现页面的无刷新跳转(pushState、replaceState)。
history模式下,因为url改变了,此时如果手动刷新页面,浏览器认为是请求一个新的页面(发起新的Http请求),而新的页面是不存在的(后端未配置的话),导致404。
先简述一下在浏览器上输入IP或域名后发生的事情(有点面试题的味道了嗷
标签:
Nginx
排行榜