Nginx pegar todo o domínio, em seguida, adicione www, se não estiver presente


1

Essa configuração é para vários domínios compartilhando uma única plataforma CMS. Isso permitirá que qualquer domínio aponte para o ip do meu servidor.

Eu posso usar o nginx server_name _; para pegar tudo.

Mas então eu gostaria de redirecionar para www (anexando www. Infront) se www não estiver presente. Se www estiver presente, tudo bem.

Como posso conseguir isso?

Respostas:


0

Algo como isso poderia funcionar (não testado!):

server {
    server_name  ~^www\.;
    <deliver content here>
}
server {
    server_name  ~^(?!www\.);
    location / {
        return 302 $scheme://www.$host$request_uri;
    }
}

Há outras opções faltando agora! Como "ouvir" e "localização".
Você provavelmente deve adicionar outro bloco de servidor com o ip público do servidor que redireciona o tráfego não vhost para um site padrão.
Você deve prestar atenção à ordem em que a diretiva server_name é processada: http://nginx.org/en/docs/http/server_names.html

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.