欢迎来到云服务器

服务器租用

nginx利用error_page指令的留意事项

        nginxerror_page对付同一个http状态码,莫斯科服务器 新加坡vps,只能执行一次,第二次就不会再执行了(初认识有错误)。

       譬喻:403状态

       下面这段代码,假如会见呈现403,会跳到retry段,在没有,就会直接呈现403,而不会跳到http://www.server110.com/download/error403.html。

              location @retry  {

#return 409;

root   /data1/;

index  index.html index.htm;

error_page 403    http://www.server110.com/download/error403.html;

          }

          location / {

root   /data/;

              index  index.html index.htm;

error_page 403 = @retry ;

error_page 404 =   http://www.server110.com;

          }

本日有做了个测试,假如利用lua把状态码改成此外,再利用error_page,会不会可以呢?

location @retry {

#       return 409;

root /data/www;

index index.html   index.htm index.php;

          content_by_lua '

return   ngx.exit(410);

        ';

error_page 404 =   http://www.baidu.com;

error_page 403 =   http://danhuaer.com/;

error_page 410 = http://news.17173.com/game/yzdzh.shtml;

}

                location / {

root  /data/www/www;

index index.html   index.htm index.php;

error_page 403 =   @retry;

error_page 404 =   http://www.server110.com;

                  }

       我把/data/www/www目次下的index.html删除了,匹配到/,会呈现403,再跳到retry中,利用lua返回401的状态码,看error_page是否能跳转到http://news.17173.com/game/yzdzh.shtml?

       验证:

nginx利用error_page指令的留意事项

       看来error_page在一次请求中,只能利用一次,无关状态码是否沟通。

       不能利用error_page,怎么才气把nginx的状态码不让用户看的,而是可以直接跳到指定的页面?

       虽然是利用lua就行跳转了

location @retry {

#       return 409;

root /data/www;

index index.html   index.htm index.php;

          content_by_lua '

--return   ngx.exit(410);

ngx.redirect("http://jd.com", 302);

        ';

error_page 404 =   http://www.baidu.com;

error_page 403 =   http://danhuaer.com/;

error_page 410 =   http://news.17173.com/game/yzdzh.shtml;

}

                location / {

root  /data/www/www;

index index.html   index.htm index.php;

error_page 403 =   @retry;

error_page 404 =   http://dl.pconline.com.cn;

}

       会见就会直接跳转到jd.com。

nginx利用error_page指令的留意事项

腾讯云代理

Copyright © 2003-2021 MFISP.COM. 国外vps服务器租用 梦飞云服务器租用 版权所有 粤ICP备11019662号