puffbaby 发表于 2019-3-14 11:30:03

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

在网站的根目录上传了一个自定义的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应该是显示维护页面但是却是正常显示了,请问大佬,我这里应该怎么弄?

licess 发表于 2019-3-14 13:26:41

可能匹配规则上有问题

puffbaby 发表于 2019-3-14 13:29:45

回复 2# 的帖子

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

01rfb 发表于 2019-5-26 15:33:37

看看,学习一下
页: [1]
查看完整版本: 怎么让部分页面不显示自定义维护页面?