Skip to main content

Nginx - Simple permanent or temporary redirect

Temporary or permanent redirect

First you have to decide whether the redirect will be permanent (301), or just temporary (302). If you are uncertain, just pick temporary and switch later.

Use cases from my understanding:

Permanent 301 redirects:
switching to another domain
merging multiple domains
switching from HTTP to HTTPs
better SEO experience
Temporary 302 redirect:
testing (A/B testing, etc)
single redirects to another domain
redirect to a maintenance page
redirect traffic for load balancing

Both do the same, but still have their use cases. Switching them up could cause problems with various indexes of search engines, SEO, wrongly being flagged as a spammer, and so on.

Simple redirects in nginx

For this example, I am going to use temporary 302 redirects.

Simple redirect of a sub-domain to a single URL
server {
    listen      80;
    listen      443;
    server_name  test2.itt.sh;
    location / {
          return 302 https://www.youtube.com/watch?v=dQw4w9WgXcQ;
    }
}

That is a simple redirect of the root of the sub-domain. Try it out: https://test2.itt.sh.

If you want to create a redirection of a subdirectory like /status, simply change it accordingly:

server {
    listen      80;
    listen      443;
    server_name  itt.sh;
    location /status {
          return 302 https://status.itt.sh/status/overview;
    }
}

With this config block, only the subdirectory /status would be redirected. For example: https://itt.sh/status redirects to https://status.itt.sh/status/overview.

other redirects

There are many more forms of redirects, but I am familiar enough to write about that. I might add more redirects later on, but I'll have to test beforehand.


E-Mail hellofoo@ittafoovern.comcom
Twitter ITTavernCom
Matrix #lounge:matrix.ittavern.com