# Handling redirects with Express

> Learn how to redirect server-side in Express with the res.redirect() method, returning a 302 by default or 301, and redirecting to absolute or relative paths.

Author: [Flavio Copes](https://flaviocopes.com/about/) | Published: 2018-09-16 | Topics: [Express.js](https://flaviocopes.com/tags/express/) | Canonical: https://flaviocopes.com/express-redirects/

Redirects are common in Web Development. You can create a redirect using the `Response.redirect()` method:

```js
res.redirect('/go-there')
```

This creates a 302 redirect.

A 301 redirect is made in this way:

```js
res.redirect(301, '/go-there')
```

If you're unsure whether you want a 301, 302, 307 or 308, I built a free [HTTP status codes lookup](https://flaviocopes.com/tools/http-status-codes/) that explains when to use each one.

You can specify an absolute path (`/go-there`), an absolute url (`https://anothersite.com`), a relative path (`go-there`) or use the `..` to go back one level:

```js
res.redirect('../go-there')
res.redirect('..')
```

You can also redirect back to the Referer HTTP header value (defaulting to `/` if not set) using

```js
res.redirect('back')
```
