nginx配置location时的问题
之前都是在请求为根目录的情况下配置nginx,即“location / ”下,使用root配置文件路径。
location / {
root /mnt/c;
}
这种情况下,请求localhost:80/返回的确实是/mnt/c。如果改成
...小于 1 分钟
之前都是在请求为根目录的情况下配置nginx,即“location / ”下,使用root配置文件路径。
location / {
root /mnt/c;
}
这种情况下,请求localhost:80/返回的确实是/mnt/c。如果改成
官方的Router文档中有相关解决方案:https://router.vuejs.org/zh/guide/essentials/history-mode.html#%E5%90%8E%E7%AB%AF%E9%85%8D%E7%BD%AE%E4%BE%8B%E5%AD%90
原因:vue的history模式下,切换路由本质是通过js操作window.history方法来改变浏览器地址栏里的路径,并没有发起http请求。但是当我直接在浏览器里输入这个地址的时候,其实是对服务器发起了http请求,而这个目标(即http请求的资源)在服务器上根本不存在,所以nginx会返回404。同理,500就是路径本身有错误。