Soluzione 1:
Meglio usare return
invece di rewrite
, perché è più veloce
server {
listen 80;
server_name example.com;
return 301 http://www.example.com$request_uri;
server {
listen 80;
server_name www.example.com;
[...]
}
In questo modo, inviamo anche al cliente un codice di stato appropriato, in modo che chieda il dominio giusto nella richiesta successiva.
Soluzione 2:
Lo stai facendo nel modo più duro. Ecco il modo più semplice.
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#
}