Моя проблема очень проста.
Когда я запрашиваю файл .php, который не существует, я вижу «Нет входного файла». Вместо страницы 404, которую вы ожидаете.
Я получаю, что передаю все запросы с расширением .php на php-fpm, и я думаю, что php-fpm возвращает «Нет указанного входного файла». когда файл не существует (?). Как это исправить?
/etc/nginx/nginx.conf:
http { server { listen 443 ssl; server_name smarthome.dk; ssl_certificate /home/www/SmartHome/cert/ssl.crt; ssl_certificate_key /home/www/SmartHome/cert/ssl.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; keepalive_timeout 70; root /home/www/SmartHome/public_html; index index.php index.html; location / { try_files $uri $uri/ /404.php?$args; } location ~ \.php$ { fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_intercept_errors on; } }
У меня есть cgi.fix_pathinfo = 0;
в /etc/php5/fpm/php.ini.