奇怪的404问题与nginx's.png'

此url无效: http : //mysite.co.uk/assets/images/whymysite/viewoptions.png

但是,如果我在.png之前的末尾replace了's',使用任何其他标准字符(到目前为止,我已经尝试过了,它工作的很好,另外,我以前一直在使用viewoptions.jpg – 而且工作正常。这似乎是触发它,特别是s.png或似乎。

我还有其他一些莫名其妙的404s试图加载图像,我怀疑这可能是同一个问题的症状,我只是随机重命名图像,出于最后一分钟的绝望!

其他一切都按预期工作,但是这让我疯狂! 我是新的nginx和更多的编码比系统pipe理员,所以随时嘲笑我明显的错误,无论是:)

我的这个网站的nginxconfiguration是:

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; } } 

这里有一些日志条目。 首先,“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" 

现在,其他文件名的access.log条目可以工作。 一个不同的扩展名,删除's',添加一个或多个字符来代替's'? 一切都好!

 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" 

只要删除这部分:

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

因为现在你只对抗你的浏览器caching。