5

I have a server config in nginx which matches several domains:

server {
  server_name example1.com example2.com example3.com;
  # ...
}

And I would like to redirect the www versions to the corresponding domains. I know how to do it for a single domain with a redirect and I would know how to do the inverse thing but I can't find a way here.

Any idea ?

Thanks ! :)

Happynoff
  • 193
  • 1
  • 6

2 Answers2

9

Don't use if

server {
    server_name ~^(www\.)(?<domain>.+)$;
    return 301 $scheme://$domain$request_uri;    
}

That's all ...

cadmi
  • 7,787
4

Ok I found this solution:

server {
  server_name www.exemple1.com www.example2.com www.exemple3.com;
  listen 80;

if ($http_host ~ "www.(.*)") { #Note the extra "&quot; after the www return 301 $scheme://$1$request_uri; } }

It works like a charm :)

aliqandil
  • 123
Happynoff
  • 193
  • 1
  • 6