加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

nginx:error_page不起作用

发布时间:2020-12-13 21:08:08 所属栏目:Nginx 来源:网络整理
导读:我尝试使用此snipplet为我的rails应用程序设置维护页面. error_page 503 /system/maintenance.html;if (-f $document_root/system/maintenance.html) { return 503;} 这可以工作,只要maintenance.html的存在导致web服务器返回503.但它返回最小的nginx默认err

我尝试使用此snipplet为我的rails应用程序设置维护页面.

error_page 503 /system/maintenance.html;
if (-f $document_root/system/maintenance.html) {
  return 503;
}

这可以工作,只要maintenance.html的存在导致web服务器返回503.但它返回最小的nginx默认error_page,而不是我的maintenance.html.为什么?

在Ubuntu 10.04 LTS上的nginx 1.0.12

完整的vhost配置:https://gist.github.com/1948225

最佳答案
“if”和“return”指令是ngx_rewrite_module的一部分.由于您在服务器级别声明了这样的条件,因此您没有机会让nginx处理error_page.

使您的配置清晰:

root /home/igel/www/stage.example.com/current/public;
error_page 503 /system/maintenance.html;

location / {
       if ( -e /system/maintenance.html ) {
              return 503;
       }
}
location = /system/maintenance.html {
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读