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?

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

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;
Submit an Answer