# How do I perform Vercel redirects based on query strings?

**Author:** Ismael Rumzan

---

When using redirects with the [`vercel.json`](https://vercel.com/docs/configuration#project/redirects) or [`next.config.js`](https://nextjs.org/docs/api-reference/next.config.js/redirects) configuration file, your **URL** may contain query string parameters that you would like to use in your redirection. This article explains the two methods possible to achieve this.

## Include query strings in redirect destination

By default, all query strings that are found in the **source** path will be passed to the **destination** path. In the example configuration below, if the source is `/?baz=10`, the destination will be `/lol/?path=foo&baz=10`.

`{ "redirects":[{ "source":"/", "destination":"/lol/?path=foo" } ] }` ## Redirect based on value of query string Using the `has` property, you can redirect to a specific route based on the value of the query parameter being present. For example, in the configuration below, if the source is `/specific/mypath?page=home&id=1000`, it will be redirected to `/another/mypath?page=home&id=1000`. `{ "redirects": [ { "source": "/specific/:path*", "has": [ { "type": "query", "key": "page", "value": "home" } ], "permanent": false, "destination": "/another/:path*" } ] }` For details related to using the `has` field, review this [page](https://nextjs.org/docs/api-reference/next.config.js/redirects#header-cookie-and-query-matching) for `next.config.js` and this [page](https://vercel.com/docs/project-configuration#project-configuration/redirects) for `vercel.json`.

---

[View full KB sitemap](/kb/sitemap.md)
