4
내 Nginx 서버가 내 404 페이지를 표시하지 않습니다. 대신, 존재하지 않는 페이지 또는 디렉토리에 액세스하려고 할 때마다 웹 사이트의 루트 (대응하는 스타일 시트가없는)의 색인 (.php) 만 제공합니다.Nginx가 404 페이지를 표시하지 않고 대신 루트에 색인 파일을 제공합니다.
여기에서 내 자신의 '기본'파일의/etc/nginx를/사이트 이용 가능한 :
server {
listen 80;
listen [::]:80 ipv6only=on;
listen 443 ssl;
listen [::]:443 ipv6only=on ssl;
add_header Strict-Transport-Security max-age=15768000;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
ssl_protocols TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4';
ssl_prefer_server_ciphers on;
root /usr/share/nginx/html;
index index.html index.htm;
location/{
index index.php;
}
if (!-e $request_filename) {
rewrite ^.*$ /index.php last;
}
try_files $uri $uri/ =404;
error_page 403 404 405 /error/404.html;
error_page 500 501 502 503 504 /error/50x.html;
location ^~ /error/ {
internal;
root /usr/share/nginx/html;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
이 날이 새로운 것을 너무 많이 만지작까지 의심 할 여지없이, 그래서 다른 가능성이있다 여기에도 문제가있다. (나머지는 일단 고쳐지면 HTTPS 연결을 강요 할 수있다. 도움말 및 건설적인 의견 감사, 감사합니다!
우수! 이제 하나의 사소한 문제 만 있습니다. 404가 존재하지 않는 .PHP 파일에서 나온 것이라면 "파일을 찾을 수 없습니다." 지정된 404.html 파일을 제공하는 대신 (이제는 다른 모든 잘못된 요청과 함께 404.html을 올바르게 제공합니다.) – SamHH
fastcgi_intercept_errors –
그리고 그 점도 마찬가지입니다. 감사합니다. – SamHH