Apabila melumpuhkan akses terus ke nginx daripada nama domain dan IP yang tidak terikat, saya mencipta pelayan berikut
server {
listen 80 default;
server_name _;
fastcgi_intercept_errors on;
error_page 404 /data/www/error_page/404.html;
return 404;
}
Kandungan error_page adalah seperti berikut:
404 Not Found!
nginx -t ujian lulus nginx -s muat semula berjaya dimuatkan semula Mengapa halaman 404 yang disertakan dengan nginx masih dikembalikan? Saya menyemak manual dan mendapati bahawa ini adalah cara untuk menyediakan halaman 404~
Parameter kedua error_page ialah URI, iaitu laluan relatif kepada direktori akar tapak, bukan laluan fizikal
Mengikut keperluan anda, disyorkan untuk menukar kepada:
Terima kasih Putera Elit, saya membaca semula penerangan tentang error_page dalam wiki nginx. Ia menunjukkan bahawa konteks 404 ialah uri Saya mengkonfigurasi semula akar untuk lalai dan kemudian menentukan laluan relatif 404. Tetapi masalah timbul apabila mengakses nama domain yang tidak terikat (seperti cc.com) mengembalikan halaman 404 yang disertakan dengan nginx, dan mengakses cc.com/aaa.html mengembalikan halaman 404 tersuai. Ia akan berkuat kuasa sepenuhnya jika anda juga menetapkan indeks kepada 404.html. Selain itu, menggunakan lokasi untuk mentakrifkan / sebagai sekatan dalaman juga boleh mengembalikan 404.