背景

vue3+vite项目,需要部署服务器。
但是根目录已经部署了另外一个项目A了,这个时候要在部署另外一个项目B。

问题

比如你的地址是http://test.com
之前直接输入http://test.com即可访问A项目
如果B项目也这么干的话就冲突了

访问A:http://test.com/A
访问B:http://test.com/B

解决方案

前端部分
方案一

vite项目的话,修改vite.config.js文件,增加base配置项

export default defineConfig({
  base: '/B/',
})

这样,你本地和服务器的访问也会自动带上/B

方案二

修改build命令,加上参数vite build --base /B/

这样的话,本地访问不带,服务器会带

服务器部分

修改nginx配置,其中root对应的路径为项目nginx资源的路径

location ^~ /B/ {
	root /opt/app/nginx;
	index index.html index.htm;
	try_files $uri $uri/ /index.html;
	break;
}

其他问题

1. 刷新页面显示404

修改上面修改的nginx配置的try_files部分

try_files $uri $uri/ /B/index.html;
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐