I am trying to set up 301 redirection for all the domains hosted on my Nginx server, and every attempt to get it to work has failed this far. My Nginx configuration is below.
File: /etc/nginx/sites-available/all-my-sites
# 301 Redirects
server {
server_name www.example1.com;
return 301 $scheme://example1.com$request_uri;
}
server {
server_name www.example2.com;
return 301 $scheme://example2.com$request_uri;
}
# The Real Deal
server {
listen 80;
server_name example1.com example2.com;
[...]
}
I've also tried these configurations to no avail.
# 301 Redirects
server {
listen 80;
server_name www.example1.com;
return 301 $scheme://example1.com$request_uri;
}
server {
listen 80;
server_name www.example2.com;
return 301 $scheme://example2.com$request_uri;
}
# The Real Deal
server {
listen 80;
server_name example1.com example2.com;
[...]
}
and
# 301 Redirects
server {
listen 80 default_server;
server_name www.example1.com;
return 301 $scheme://example1.com$request_uri;
}
server {
listen 80 default_server;
server_name www.example2.com;
return 301 $scheme://example2.com$request_uri;
}
# The Real Deal
server {
listen 80 default_server;
server_name example1.com www.example1.com example2.com www.example2.com;
[...]
}
What am I doing wrong? I really have no clue. (I tried my best, googling and referring to the documentation.)
UPDATE: Actually, www.example2.com redirects to example2.com just fine. But www.example1.com doesn't. This is weird, and I still have no clue.