Vercel uses Routes to define the behavior of how a request is handled by the routing layer. For example, you might use a Route to proxy a URL to another, redirect a client, or apply a header with the response to a request.
By default, routing is defined by the filesystem of your deployment. For example, if a user makes a request to /123.png, and your [vercel.json](https://vercel.com/docs/configuration#project/routes) file does not contain any routes with a valid src matching that path, it will fallback to the filesystem and serve /123.png if it exists.
A Route can be defined within a project’s [vercel.json](https://vercel.com/docs/configuration#project/routes) configuration file as an object within an array assigned to the routes property, like the following which creates a simple proxy from one path to another:
For each route, src is required to set the path which the behavior will affect.
The following example shows a vercel.json configuration that takes a src path and proxies it to a destination[dest](https://vercel.com/docs/configuration#dest)path.
dest is used to proxy the [src](https://vercel.com/docs/configuration#src) path to another path, such as another URL or Vercel hosted Serverless Function.
The example for the[src](https://vercel.com/docs/configuration#src)property shows how both methods work together to create a proxy.
An example vercel.json file with routes properties that proxy paths to another upon request.
NOTE: You can point the dest path to any URL, Vercel hosted Serverless Function, or even non Vercel hosted URLs as shown in the code above. If you don’t perform any proxying, you can safely remove dest.
{ "routes":[{"src":"/about"}] }
This will route to /about without proxying, but routes like this are usually redundant with handle filesystem.