打印

[Nginx] 怎么让部分页面不显示自定义维护页面?

怎么让部分页面不显示自定义维护页面?

在网站的根目录上传了一个自定义的503页面文件夹,包含html,css,和图片。然后希望部分页面正常显示,其余页面都显示这个503维护页面。我的nginx部分配置:
复制内容到剪贴板
代码:
location / {
# 跨域设置
add_header 'Access-Control-Allow-Origin' $http_origin;
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,Accept,Origin,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range';
if ($request_method = 'OPTIONS') {
            add_header 'Access-Control-Max-Age' 1728000;
            add_header 'Content-Type' 'text/plain; charset=utf-8';
            add_header 'Content-Length' 0;
            return 204;
}

# 维护页面

set $flag 0;
if ($request_uri !~ "(/houtai/).*$"){
      set $flag "${flag}1";
}
if ($request_uri !~ "/503/503.html$" ){
      set $flag "${flag}2";
}
if ($request_uri !~ "(/503/css/.*)$" ){
      set $flag "${flag}3";
}
if ($request_uri !~ "(/503/images/.*)$" ){
      set $flag "${flag}4";
}

if (-f $document_root/503/503.html) {
      set $flag "${flag}5";
}

if ($request_uri !~ "(/zt/).*$"){
      set $flag "${flag}6";
}

if ($flag = "0123456") {
           return 503;
         }

}

error_page 503 @maintenance;
    location @maintenance {
    rewrite ^(.*)$ /503/503.html break;
}
希望访问的URL包含houtai,zt和503的时候显示正常,然后其他的访问码是503。
实际发现,部分URL应该是显示维护页面但是却是正常显示了,请问大佬,我这里应该怎么弄?

TOP

可能匹配规则上有问题

LNMP付费问题排查/LNMP技术支持/Paypal信用卡代付/代购VPS,域名,软件等 QQ 503228080 旺旺 lzhenbao
军哥淘宝店铺
QQ/旺旺仅提供代购及付费代维/问题解决等服务,其他不回复!LNMP相关问题请在本论坛发帖,提问前先搜索,按https://bbs.vpser.net/thread-2555-1-1.html 要求反馈问题!

TOP

回复 2# 的帖子

军哥 你看规则应该怎么弄呢 排除 houta 503  zt 这三个目录

TOP