nginx+vue,同域名访问不同项目,网上搜了很多,解决方案都差不多,配置也是配置那几项,我都按着配置了,确实解决了跳转404的问题,但是没能解决刷新404的问题,也就是登录之后到了首页,并且去其他页面都没问题,唯独就是刷新,一刷新就404,实在找不出解决的方法了,烦请大家帮帮忙,谢谢大家!
下面是我的配置文件。
nginx.conf
vue.config.js
router/index.js
nginx+vue,同域名访问不同项目,网上搜了很多,解决方案都差不多,配置也是配置那几项,我都按着配置了,确实解决了跳转404的问题,但是没能解决刷新404的问题,也就是登录之后到了首页,并且去其他页面都没问题,唯独就是刷新,一刷新就404,实在找不出解决的方法了,烦请大家帮帮忙,谢谢大家!
下面是我的配置文件。
nginx.conf
vue.config.js
router/index.js
这个问题可能是由于nginx的配置没有正确地处理Vue的路由。Vue使用的是HTML5的history模式,这种模式需要服务器端配合处理,否则在刷新页面时会出现404错误。
以下是一个可能的解决方案:
try_files
。这是一个重要的指令,它告诉nginx如果请求的文件不存在,那么就去尝试寻找其他的文件。对于Vue项目,你应该在location块中设置try_files $uri $uri/ /index.html;
。例如:
location / {
root /path/to/your/vue/project/dist;
try_files $uri $uri/ /index.html;
}
vue.config.js
文件中确认这一点:module.exports = {
router: {
mode: 'history',
...
}
}
try_files
的设置。nginx -t
命令来检查。如果配置没有问题,那么你需要重启nginx来使新的配置生效。希望这个解决方案可以帮助你解决问题。如果你还有其他的问题,欢迎随时提问。