nginx 301 o redirecionamento não funciona para www. subdomínio

2

Eu estou tentando criar um 301 redirecionar de um domínio para outro com nginx. Aqui está o que eu estou fazendo atualmente e funciona como eu quero:

   server {
        listen      80;
        server_name domain.net;
        return 301 $scheme://www.domain.net$request_uri;
    }

    server {
            listen       80;
            server_name  www.domain.net;
            ...
    }

Gostaria de modificar o primeiro bloco de servidor para incluir um domínio .co para também redirecionar para o domínio www.domain.net:

   server {
        listen      80;
        server_name domain.net domain.co www.domain.co;
        return 301 $scheme://www.domain.net$request_uri;
    }

No entanto, quando eu digito em www.domain.co, o site carrega bem, mas a barra de endereços ainda mostra www.domain.co em vez de www.domain.net. Da mesma forma, fazendo uma onda -I www.domain.co mostra um 200 em vez de um 301. Omitindo o www. e apenas digitando domain.co me envia para www.domain.net. curl -I domain.co também retorna um correto 301.

Alguma idéia de por que isso não está funcionando quando eu adiciono o www. Eu tenho tentado por algum tempo agora e procurar / tentativa e erro vieram infrutíferas.

    
por Brian 30.07.2012 / 04:51

1 resposta

3

As regras de regravação do nginx parecem bem.

A causa mais provável desse problema é que seus registros de DNS ainda não estão atualizados. Verifique novamente para garantir que você apontou os registros DNS A para domain.co e www.domain.co para o endereço correto. Se você tiver atualizado recentemente os registros DNS, poderá levar mais tempo até que as atualizações sejam propagadas e os registros antigos expirem. Isso é refletido no valor de tempo de vida (TTL) do registro SOA do DNS.

Finalmente, se você atualizou sua configuração nginx, você também precisa recarregar / reiniciar o nginx.

    
por 30.07.2012 / 04:56