在禁用未綁定域名和ip直接訪問nginx時,我創(chuàng)建如下server
server {
listen 80 default;
server_name _;
fastcgi_intercept_errors on;
error_page 404 /data/www/error_page/404.html;
return 404;
}
error_page 內容如下:
404 Not Found!
nginx -t 測試通過 nginx -s reload 重新加載成功 為何返回的依舊是nginx自帶的404頁面呢? 查過手冊確是如此設置404頁面的~
認證高級PHP講師
error_page的第二個參數(shù)是URI, 即相對于站點根目錄的路徑,并非物理路徑
按你的需求,建議改為:
root /data/www;
error_page 404 /error_page/404.html;
多謝精英王子,我又重新閱讀了一下nginx wiki里關于error_page的說明。里面確是指出404的context是uri,我重新給default配置了root,然后指明了其404的相對路徑。但出現(xiàn)問題是訪問某未綁定域名(比如cc.com),返回的是nginx自帶的404頁面,訪問cc.com/aaa.html返回的是自定義的404頁面。額外指定index到404.html才完全生效。 另外,用location 將/定義為internal限制也可以返回404.