Lösung 1:
Verwenden Sie besser return
statt rewrite
, weil es schneller ist
server {
listen 80;
server_name example.com;
return 301 http://www.example.com$request_uri;
server {
listen 80;
server_name www.example.com;
[...]
}
Auf diese Weise senden wir dem Kunden auch einen ordentlichen Statuscode, damit er bei der nächsten Anfrage die richtige Domain anfragt.
Lösung 2:
Du machst es dir auf die harte Tour. Hier ist der einfache Weg.
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#
}