server - nginx error_page 404 未生效
PHP中文网
PHP中文网 2017-05-16 17:29:04
0
2
614

在停用未綁定網域名稱和ip直接存取nginx時,我建立如下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中文网
PHP中文网

认证高级PHP讲师

全部回覆(2)
为情所困

error_page的第二個參數是URI, 即相對於站點根目錄的路徑,並非實體路徑

依你的需求,建議改為:

root  /data/www;
error_page 404 /error_page/404.html;
淡淡烟草味

多謝精英王子,我又重新閱讀了一下nginx wiki裡關於error_page的說明。裡面確是指出404的context是uri,我重新為default配置了root,然後指明了其404的相對路徑。但出現問題是造訪某未綁定網域名稱(如cc.com),回傳的是nginx自帶的404頁面,造訪cc.com/aaa.html回傳的是自訂的404頁面。額外指定index到404.html才完全生效。 另外,用location 將/定義為internal限制也可以回傳404.

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板