0
當我發佈到404頁面時,nginx會剝離發佈的數據並將請求方法更改爲「GET」。我如何防止這種情況?我將nginx配置爲將php文件作爲域目錄根目錄中的錯誤404頁面提供。我想記錄任何發佈到它的日誌。Nginx 404頁面的請求方法總是GET
nginx.conf
server {
listen 80;
error_page 404 = /404.php;
set $oldhost $host;
root /var/www/www/$oldhost;
location ~* \.(?:ico|css|js|gif|jpg|png|html|htm)$ {
expires 3d;
add_header Pragma public;
add_header Cache-Control "public";
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location/{
index index.php index.htm index.html;
try_files $uri $uri/ /index.php?$args;
}
location ~ .php$ {
location ~ \..*/.*\.php$ {return 404;}
expires 1d;
add_header Pragma public;
client_max_body_size 80m;
add_header Cache-Control "public";
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
fastcgi_intercept_errors on;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
我應該如何將它添加到我的配置?我曾嘗試將404.php添加到「location/{try_files}」的末尾,並將index和try_files分隔爲另一個stackoverflow線程中的兩個位置語句。我也註釋掉了「error_page 404」這一行。現在,我得到的只是「找不到文件」。 –
用代碼編輯。當然,該位置必須存在404.php頁面。 – peixotorms