Nginx captura todo o domínio e, em seguida, adiciona www, se não estiver presente

1

Esta 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, em seguida, gostaria de redirecionar 301 para www (anexando www. infront) se www não estiver presente. Se www estiver presente, tudo bem.

Como posso conseguir isso?

    
por Syed 03.11.2015 / 17:21

1 resposta

0

Algo parecido com isto pode 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 "local".
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: link

    
por 01.03.2017 / 16:56