如何在Vercel中配置已使用域名的子路径指向新仓库?
实现主域名子路径由独立仓库服务的方案(Next.js场景)
完全可以让thisishaneum.com/portfolio由新仓库单独提供服务,不需要在原博客仓库里折腾,下面是两种靠谱的实现方式:
1. 反向代理+Next.js basePath配置(最推荐)
不管你用Vercel、Netlify还是自建服务器,都能通过路由重写规则把/portfolio开头的请求转发到新仓库的部署地址,步骤如下:
- 原博客项目配置路由转发:以Vercel为例,在原博客根目录创建/修改
vercel.json,添加重写规则:
其他平台操作类似,比如Netlify用{ "rewrites": [ { "source": "/portfolio/:path*", "destination": "https://你的新作品集部署域名/:path*" } ] }_redirects文件,自定义Nginx的话修改配置文件添加反向代理规则即可。 - 新作品集项目配置basePath:在新仓库的
next.config.js里设置basePath,确保所有资源路径自动带上/portfolio前缀,避免资源404:
之后正常部署新仓库到你的托管平台即可。module.exports = { basePath: '/portfolio', assetPrefix: '/portfolio/' }
2. 域名托管平台的路由规则
如果你的域名托管在Cloudflare、阿里云这类平台,直接在平台的路由规则里设置:把所有路径匹配/portfolio/*的请求,转发到新作品集的部署地址。这种方式不用改动原项目配置,直接在DNS/路由层面处理,适合不想动原代码的场景。
总结
没必要在原仓库里硬塞作品集代码,用上述任意一种方式,都能让/portfolio完全由新仓库独立服务,原博客的配置和代码完全不受影响。
内容的提问来源于stack exchange,提问作者chebread
相关产品推荐
相关产品推荐

