Weird 404 issue with nginx 's.png'

2

Este URL é inválido: link

No entanto, se eu substituir o 's' no final antes de .png, com QUALQUER outro caracter padrão (que eu tentei até agora, ele funciona bem. TAMBÉM, eu estava usando anteriormente viewoptions.jpg - e THAT funciona bem. Parece ser especificamente s.png que está disparando, ou assim parece.

Eu tive alguns outros 404s desconcertantes tentando carregar imagens, que eu suspeito que fossem, provavelmente, sintomas do mesmo problema, que eu trabalhei por aí apenas renomeando aleatoriamente as imagens, por desespero de última hora!

Tudo está funcionando como esperado, mas isso está me deixando louco! Eu sou novo no nginx e mais codificador do que o sysadmin então sinta-se livre para rir do meu erro óbvio, seja ele qual for:)

Minha configuração nginx para este site é:

server {
    listen          80;
    server_name     mysite.co.uk;
    root            /var/www/mysite/public/;
    index           index.php index.html;

    access_log      /var/www/mysite/logs/access.log;
    error_log       /var/www/dmysite/logs/error.log;

    try_files       $uri    $uri/   /index.php?q=$uri&$args;

    location ~* .(jpg|jpeg|gif|css|png|js|ico|eot|svg|ttf|woff)$ {
            access_log        off;
            expires           30d;
    }

    # pass PHP scripts to FastCGI server listening on 127.0.0.1:9000

    location ~ \.php$ {
            include         fastcgi_params;
            fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
            try_files       $uri =404;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_index   index.php;
            fastcgi_pass    127.0.0.1:9000;
    }

}

Aqui estão algumas entradas de log. Primeiro, a entrada do log de erros para 'viewoptions.png'

2011/09/28 17:24:34 [error] 4241#0: *11 open() "/var/www/mysite/public/assets/images/whymysite/viewoptions.png" failed (2: No such file or directory), client: 192.168.0.2, server: mysite.co.uk, request: "GET /assets/images/whymysite/viewoptions.png HTTP/1.1", host: "mysite.co.uk", referrer: "http://mysite.co.uk/why-mysite.php"

Agora, as entradas access.log para os outros nomes de arquivos que funcionam. Uma extensão diferente, removendo o 's', adicionando um ou mais caracteres em substituição do 's'? Tudo bem!

192.168.0.2 - - [28/Sep/2011:17:24:14 +0100] "GET /assets/images/whymysite/viewoptions.jpg HTTP/1.1" 304 0 "http://mysite.co.uk/why-mysite.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.186 Safari/535.1"
192.168.0.2 - - [28/Sep/2011:17:24:34 +0100] "GET /assets/images/whymysite/viewoptions.png HTTP/1.1" 404 201 "http://mysite.co.uk/why-mysite.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.186 Safari/535.1" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.186 Safari/535.1"
192.168.0.2 - - [28/Sep/2011:17:24:43 +0100] "GET /assets/images/whymysite/viewoption.png HTTP/1.1" 304 0 "http://mysite.co.uk/why-mysite.php"
192.168.0.2 - - [28/Sep/2011:17:24:59 +0100] "GET /assets/images/whymysite/viewoptionqqq.png HTTP/1.1" 200 3486 "http://mysite.co.uk/why-mysite.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.186 Safari/535.1"
    
por Andrew 28.09.2011 / 14:00

1 resposta

1

Basta remover esta parte:

location ~* .(jpg|jpeg|gif|css|png|js|ico|eot|svg|ttf|woff)$ {
        access_log        off;
        expires           30d;
}

Porque agora você está lutando apenas contra o cache do seu navegador.

    
por 28.09.2011 / 14:20