Nginx
有沒有辦法只記憶體 GET Ajax 請求?
通常我在 nginx 配置規則中不允許記憶體所有 XMLHttpRequest:
map $http_x_requested_with $nocache_01 { default 0; XMLHttpRequest 1; }
有沒有辦法只記憶體 GET Ajax 請求?
使用 $request_method
它沒有顯示,但假設配置中有一個 if 塊,如下所示:
if ($nocache_01) { ... }
相反,通過將此變數與請求方法連接,可以進行更明確的檢查,即:
if ($nocache_01$request_method = "1GET") { ... }
或者,例如,根本不使用地圖:
if ($http_x_requested_with$request_method = "XMLHttpRequestGET") { ... }
感謝AD7six的提示。現在,我的地圖看起來就是這樣。
map $http_x_requested_with$request_method $nocache_01 { default 0; XMLHttpRequestGET 0; ~XMLHttpRequest(PUT|PATH|DELETE|POST) 1; }
這意味著 XMLHttpRequest(PUT|PATH|DELETE|POST) 不會被記憶體
fastcgi_no_cache $nocache_01; fastcgi_cache_bypass $nocache_01;