Redirect from a list of redirects both hardcoded and coming from Upstash (Redis), that get evaluated at the edge.
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.
https://edge-functions-redirects-upstash.vercel.app
You can choose from one of the following two methods to use this repository:
Deploy the example using Vercel:
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 APIUPSTASH_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 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).
Redirect from a list of redirects both hardcoded and coming from Upstash (Redis), that get evaluated at the edge.
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.
https://edge-functions-redirects-upstash.vercel.app
You can choose from one of the following two methods to use this repository:
Deploy the example using Vercel:
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 APIUPSTASH_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 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).