From www.example.com to example.com
server {
server_name www.example.com
return 301 $scheme://example.com$request_uri;
}
From example.com to www.example.com
server {
server_name example.com
return 301 $scheme://www.example.com$request_uri;
}
-------
Some people try it in this way also, but it's a bad way of doing redirect as per nginx documentation. http://wiki.nginx.org/Pitfalls
server {
server_name www.domain.com;
rewrite ^/(.*)$ http://domain.com/$1 permanent;
}
server {
server_name domain.com;
rewrite ^/(.*)$ http://www.domain.com/$1 permanent;
}