Никогда не обращал внимание, что будет, если попробовать обратиться к несуществующему файлу .php. Для картинок и прочего файлового, необрабатываемого мусора у меня, как принято, сделана своя 404 страница, а пыховые страницы я не проверял. Соответственно, ждал, что nginx ответит гуглу моей обработанной страницей 404 и левые страницы выпадут. А вот фиг.
Код:
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/fcgi-php.sock;
}
т.е. перед тем, как скормить обработчику php файл, необходимо проверить, что он существует. Иначе вместо 404 приезжает "File not found" и, что самое загадочное, хотя и с кодом 404, но без обработки этого кода страницами nginx.