New Project

Edge Redirects with Upstash

Redirect from a list of redirects both hardcoded and coming from Upstash (Redis), that get evaluated at the edge.

DeployView Demo

Edge Redirects with Upstash

This demo features a list of redirects, both hardcoded and coming from Redis (Upstash), that get evaluated at the edge.

The demo has a total of 10,000 redirects, 1,000 of which are hardcoded on a JSON file, and 9,000 added to Redis.

Redirects in a JSON file are faster to evaluate, but they can only be edited at build time, with Redis we can have editable redirects with a low latency cost.

Demo

https://edge-functions-redirects-upstash.vercel.app

How to Use

You can choose from one of the following two methods to use this repository:

One-Click Deploy

Deploy the example using Vercel:

Clone and Deploy

Execute create-next-app with npm or Yarn to bootstrap the example:

pnpm create next-app --example https://github.com/vercel/examples/tree/main/edge-middleware/redirects-upstash redirects-upstash

You'll need to have an account with Upstash. Once that's done, copy the .env.example file in this directory to .env.local (which will be ignored by Git):

cp .env.example .env.local

Then open .env.local and set the environment variables to match the REST API and Edge API of your database. It should look like this:

# Upstash REST API
UPSTASH_REST_API_DOMAIN = "us1-shiny-firefly-12345.upstash.io"
UPSTASH_REST_API_TOKEN = "your-api-token"

We populate the redirects in Upstash in scripts/upstash.js [blocked] using their REST API, if you prefer not to do that then set POPULATE_REDIS to false in .env. JSON redirects are also created there.

Next, run Next.js in development mode:

pnpm dev

Deploy it to the cloud with Vercel (Documentation).

GitHub Repovercel/examples
Use Cases
Edge Middleware
Stack
Next.js
Tailwind

Related Templates

i18n in Edge Middleware

This template shows how to redirect users based on i18n configuration.
i18n in Edge Middleware thumbnail
DeployView Demo