Why does return 301 send me to a 414 Request?

September 11, 2018 507 views
Nginx Ubuntu 16.04

I have a main domain and a subdomain. I want all traffic to redirect to my subdomain. I have been trying to use return 301 and also rewrite in my nginx.conf for my default domain, but every time I do instead of the url being replaced with my subdomain; the subdomain is added on to the end of the url.

For example:
rewrite ^/(.*)$ https://domain2.com/$1 permanent; is the rewrite command I am using
and when I type in my domain the url becomes
forever and ever until I get the 414 request.

Any idea what is going on?

1 Answer

Instead of using a rewrite rule you can instead use the following server declaration in your nginx.conf to make it cleaner and simpler:

server {
    server_name example.com;
    return 301 $scheme://subdomain.example.com$request_uri;

Or redirect one domain to another domain:

server {
    server_name domain1.com;
    return 301 $scheme://domain2.com$request_uri;
Have another answer? Share your knowledge.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!