A zone is a single deployment of a Next.js app. You can have multiple zones and merge them as a single app.
For example, let's say you have the following apps:
/blog/**
With multi zones support, you can merge both these apps into a single one allowing your customers to browse it using a single URL, but you can develop and deploy both apps independently.
There are no special zones related APIs. You only need to do following:
A
has /blog
then app B
shouldn't have it too.You can merge zones using any HTTP proxy.
For Vercel, you can use a single now.json
to deploy both apps. It allows you to define routing routes for multiple apps like below:
{
"version": 2,
"builds": [
{ "src": "blog/package.json", "use": "@now/next" },
{ "src": "home/package.json", "use": "@now/next" }
],
"routes": [
{ "src": "/blog/_next(.*)", "dest": "blog/_next$1" },
{ "src": "/blog(.*)", "dest": "blog/blog$1" },
{ "src": "(.*)", "dest": "home$1" }
]
}
You can also configure a proxy server to route using a set of routes like the ones above, e.g deploy the blog app to https://blog.example.com
and the home app to https://home.example.com
and then add a proxy server for both apps in https://example.com
.