假设 hash 路由为 www.test.com/#/abc
即使浏览器刷新也只会发送 www.test.com
来获取根目录的index.html
文件所以不会404
那如果这时路由变为www.test.com/a/#/abc
浏览器发送的是www.test.com/a
,而服务端没有相应的目录,也没有做其他处理,这时候会返回404吗?
如果会,那是不是和 history 路由一样要所有请求重定向到index.html
假设 hash 路由为 www.test.com/#/abc
即使浏览器刷新也只会发送 www.test.com
来获取根目录的index.html
文件所以不会404
那如果这时路由变为www.test.com/a/#/abc
浏览器发送的是www.test.com/a
,而服务端没有相应的目录,也没有做其他处理,这时候会返回404吗?
如果会,那是不是和 history 路由一样要所有请求重定向到index.html
13 回答12.8k 阅读
8 回答2.6k 阅读
2 回答5.1k 阅读✓ 已解决
7 回答1.9k 阅读
9 回答1.7k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
5 回答852 阅读
那肯定会404了, 是得和history一样去做处理输出index.html.
且在
new Router
中配置base
选项.不然打包出来的文件引用资源会少一层子目录, 比如你这里是在子目录/a中, 那么base就配置为/a. (这些都可以通过环境变量来控制是否二级目录)犀利一笑^_^