Multi-Tenant Preview URLs

This demo shows how Vercel handles preview deployments for multi-tenant apps.

Select a Tenant

Each link below navigates to a tenant-specific subdomain. Notice how the URL changes.

The Problem

Preview URLs like my-app-git-feature.vercel.dev work great for single-tenant apps. But multi-tenant apps need to test changes for each tenant separately.

Without tenant-aware previews, you'd have to:

  • • Manually switch tenant context
  • • Deploy separate preview environments per tenant
  • • Manually assign domains

The Solution

You can now add any dynamic prefix before --- in your preview URL, and Vercel will still route the request to the correct deployment. Your code receives the full hostname, so you can extract the prefix and handle routing however you want.

Note: This feature requires a custom deployment URL suffix (e.g., .vercel.dev). It does not work with the default .vercel.app suffix.

How It Works

1. User visits
acme---my-app-abc123.vercel.dev
2. Vercel routes to deployment
my-app-abc123.vercel.dev
3. Your code receives
host: acme---my-app-abc123.vercel.dev
4. Your code handles routing
→ /acme
1. User visits
globex---my-app-abc123.vercel.dev
2. Vercel routes to deployment
my-app-abc123.vercel.dev
3. Your code receives
host: globex---my-app-abc123.vercel.dev
4. Your code handles routing
→ /globex

Both URLs route to the same deployment. Your code extracts the prefix and handles routing however you want—middleware, rewrites, or custom logic.