Como remover genericamente a www do domínio em nginx?

1

Eu tenho uma configuração servidor no nginx que combina vários domínios:

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

E eu gostaria de redirecionar as versões www para os domínios correspondentes. Eu sei como fazer isso para um único domínio com um redirecionamento e eu saberia como faça o inverso, mas não consigo encontrar um caminho aqui.

Alguma ideia?

Obrigado! :)

    
por Happynoff 13.05.2013 / 11:28

2 respostas

5

Não use if

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

Isso é tudo ...

    
por 14.05.2013 / 10:12
2

Ok, encontrei esta solução:

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

  if ($http_host ~ "www.(.*)") {
    return 301 $scheme://$1$request_uri;
  }
}

Funciona como um encanto:)

    
por 13.05.2013 / 15:41

Tags