nginx redirect to www.domain
Solution 1:
Better use return
instead of rewrite
, because it's faster
server {
listen 80;
server_name example.com;
return 301 http://www.example.com$request_uri;
server {
listen 80;
server_name www.example.com;
[...]
}
This way, we also send the client a proper status code, so that he asks the right domain in the next request.
Solution 2:
You're doing it the hard way. Here's the easy way.
server {
listen 80;
server_name example.com;
rewrite ^(.*) http://www.example.com$1 permanent;
}
server {
listen 80;
server_name www.example.com;
#The rest of your configuration goes here#
}