我有一个简单的配置文件,用于在维护期间提供自定义503错误页面。其中关键部分如下:
server {
listen 80 default;
root /usr/share/nginx/html;
server_name example.com;
location / {
if (-f $document_root/503.json) {
return 503;
}
}
# error 503 redirect to 503.json
error_page 503 @maintenance;
location @maintenance {
rewrite ^(.*)$ /503.json break;
}
}
问题在于Nginx会确定任何请求都是静态文件,而POST、PUT和DELETE请求则会得到405(不允许的方法)响应。
因此问题是:如何告诉Nginx对于任何HTTP方法都提供我的页面?