nginx關於 error_page指令詳解.md


error_page指令解釋

nginx指令error_page的作用是當發生錯誤的時候能夠顯示一個預定義的uri,比如:

error_page 502 503 /50x.html;

這樣實際上產生了一個內部跳轉(internal redirect),當訪問出現502、503的時候就能返回50x.html中的內容。

同時我們也可以自己定義這種情況下的返回狀態嗎,比如:
error_page 502 503 =200 /50x.html;
這樣用戶訪問產生502 、503的時候給用戶的返回狀態是200,內容是50x.html。

當error_page后面跟的不是一個靜態的內容的話,比如是由proxyed server或者FastCGI/uwsgi/SCGI server處理的話,server返回的狀態(200, 302, 401 或者 404)也能返回給用戶。

error_page 404 = /404.php;

也可以設置一個named location,然后在里邊做對應的處理。

500 502 503 504 @jump_to_error;
location @jump_to_error {    
    ...
}

同時也能夠通過使客戶端進行302、301等重定向的方式處理錯誤頁面,默認狀態碼為302。

error_page 403      http://example.com/forbidden.html;
error_page 404 =301 http://example.com/notfound.html;

同時error_page在一次請求中只能響應一次,對應的nginx有另外一個配置可以控制這個選項:recursive_error_pages
默認為false,作用是控制error_page能否在一次請求中觸發多次。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM