Você pode me ajudar a descobrir de onde vem a reescrita de example.com para www.example.com?

1

Aqui está minha configuração do NGINX (não apache, apenas php-fpm):

user  nginx;
worker_processes  1;
error_log /usr/local/nginx/logs/error.log notice;
pid       /var/run/nginx.pid;

events  {
        worker_connections      384;
}

http    {
        include          mime.types;
        default_type  application/octet-stream;
        access_log          off;
    server_tokens       off;
        sendfile                 on;
        tcp_nopush           on;
    tcp_nodelay             off;
    client_max_body_size     8M;
    client_body_timeout      30;
    client_header_timeout    15;
    keepalive_timeout     15 65;
    send_timeout             30;

gzip on;
    gzip_static on;
    gzip_disable "msie6";
    gzip_vary on;
    gzip_proxied any;
    gzip_comp_level 9;
    gzip_buffers 32 4k;
    gzip_http_version 1.0;
    gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

    upstream php-fpm-sock {
    server unix:/var/run/php-fpm.sock;
}

server  {
        listen          80;
        server_name     example.com;
        index           index.php index.html;
        root            /usr/local/nginx/html;
    error_page      404 index.php;

        if ($request_method !~ ^(GET|HEAD|POST)$ ) {
        return 444;
        }

        location ~* \.(?:jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$ {
        expires 1y;
        log_not_found off;
        }

        location / {
    try_files $uri $uri/ /index.php?q=$uri;
        }

    location /blog {
        try_files $uri $uri/ /index.php?$uri&$args;
        }

        location ~ \.php$ {
         fastcgi_index  index.php;
                try_files $uri =404;
         fastcgi_pass   php-fpm-sock;
             fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;
             include        fastcgi_params;
         fastcgi_connect_timeout    15;
         fastcgi_send_timeout   30;
         fastcgi_read_timeout   15;
         fastcgi_buffer_size    8k;
         fastcgi_buffers         32 8k;
    }
    }
}

Pensei que talvez fosse um tipo de encaminhamento, mas mudei o DNS do GoDaddy para o AWS Route 53 e STILL, se eu digitar example.com, ele será encaminhado para o 301 para o www .example.com.

Minha rota 53 dns:

mywebsite.com   3600    A   107.22.210.xxx

*.mywebsite.com 3600    CNAME   ec2-107-22-210-xxx.compute-1.amazonaws.com

O que causa esse redirecionamento?

Obrigado

    
por Hayden 18.03.2012 / 02:28

2 respostas

2

O nginx não está redirecionando - especialmente não enviando o código de resposta 301 que você está vendo. O código que está sendo executado no PHP é quase certamente o culpado.

Por favor, forneça informações sobre o que está sendo executado em código PHP - nginx não é o problema.

    
por 18.03.2012 / 08:10
0

Eu notei que na maioria dos navegadores da Web, se eles não podem fazer uma conexão usando domain.com, eles irão automaticamente (e quase instantaneamente) pular para www.domain.com. Certifique-se de que seu servidor esteja realmente respondendo à solicitação de domain.com.

Faça o seguinte para testar e deixe um comentário com os resultados (isso pressupõe o uso de uma estação de trabalho Linux, talvez outra pessoa possa postar uma versão Windows / Mac):

Certifique-se de que o domínio seja resolvido quando usado sozinho:

nslookup domain.com

Verifique se o servidor da web está realmente escutando:

telnet domain.com 80

Veja onde o servidor da web nos envia quando solicitamos o arquivo de índice:

wget domain.com

Boa sorte!

    
por 18.03.2012 / 03:02