文档章节

nginx error_page注意事项

perofu
 perofu
发布于 2015/09/18 16:08
字数 396
阅读 1.3W
收藏 3

        nginx error_page对于同一个http状态码,只能执行一次,第二次就不会再执行了(初认识有错误)。

       例如:403状态

       下面这段代码,如果访问出现403,会跳到retry段,在没有,就会直接出现403,而不会跳到http://www.perofu.com/download/error403.html

              location @retry  {

            #return 409;

            root   /data1/;

            index  index.html index.htm;

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

          }

          location / {

            root   /data/;

              index  index.html index.htm;

            error_page 403 = @retry ;

            error_page 404 =   http://www.perofu.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.perofu.com;

                  }

 

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

 

       验证:

 

       看来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

 

 

 

 

 

 


© 著作权归作者所有

perofu
粉丝 127
博文 175
码字总数 133119
作品 0
广州
系统管理员
私信 提问
加载中

评论(0)

nginx 404 50x 配置 (转载)

(转载)http://www.cnblogs.com/jiangyao/archive/2010/07/10/1774981.html 1.创建自己的404.html页面 2.更改nginx.conf在http定义区域加入: fastcgiintercepterrors on; 3.更改nginx.con......

cat_l_fish
2015/01/07
3.8K
0
web网站集群之企业级Nginx Web服务优化详解(二)

12 配置Nginx gzip压缩实现性能优化 100k ---- 1s 90k 100k ---- 5s 10k gzip on; gzipminlength 1k; gzip_buffers 4 16k; gziphttpversion 1.1; gzipcomplevel 7; gzip_types text/css tex......

mylinuxwhw
2018/03/15
0
0
nginx error_page详解

error_page指令解释 nginx指令error_page的作用是当发生错误的时候能够显示一个预定义的uri,比如: error_page 502 503 /50x.html;1 这样实际上产生了一个内部跳转(internal redirect),当访...

Tenderrain
2018/05/24
0
0
web网站集群之企业级Nginx Web服务优化详解

1. 隐藏nginx版本信息优化(安全优化) 官方参考链接:http://nginx.org/en/docs/http/ngxhttpcoremodule.html#servertokens Syntax: server_tokens on | off | build | string; Default: s......

mylinuxwhw
2018/03/15
0
0
apache转换到了nginx的几个注意点

【from】www.mlives.cn 最近把整站从apache升级到了nginx,客户的站点大概有30台服务器大部分架构位tomcat+apache,只有一个php页面 一下是我升级遇到的几个问题的注意点 1. 当我们去访问服务...

范堡
2009/05/06
1.6K
0

没有更多内容

加载失败,请刷新页面

加载更多

植物:君子兰

ylbtech-植物:君子兰 君子兰(学名: Clivia miniata),别名 剑叶石蒜、大叶石蒜,是 石蒜科 君子兰属的 多年生草本植物,属观赏 花卉,原产于 南非南部。 花期长达30-50天,以冬春为主,元...

osc_gp8avabl
28分钟前
34
0
植物:玉簪

ylbtech-植物:玉簪 玉簪(学名: Hosta plantaginea (Lam.) Aschers.),又名 白萼、白鹤仙,是 百合科,玉簪属的 多年生宿根植物。叶基生,成簇,卵状心形、卵形或卵圆形。 花葶高40-80...

osc_1psr53ow
28分钟前
41
0
植物:迎春花

ylbtech-植物:迎春花 迎春花(学名: Jasminum nudiflorum Lindl. ):别名 迎春、黄素馨、金腰带,落叶 灌木丛生。株高30-500厘米。小枝细长直立或拱形下垂,呈纷披状。3小叶复叶交互对生,...

osc_fscujk71
29分钟前
38
0
植物:雪铁芋

ylbtech-植物:雪铁芋 雪铁芋(学名: Zamioculcas zamiifolia Engl.),又名为 金钱树。是多年生常绿 草本植物,是极为少见的带地下 块茎的观叶植物。地上部无主茎,不定芽从块茎萌发形成大...

osc_47qtuhkb
30分钟前
31
0
Java之关键字的使用

java中有很多的关键字,他们的使用让Java语言变得更加灵活、易用,下面将介绍Java中最常用的几个关键字并说明其用法。 关键字:return 1.使用范围: 使用在方法体中 2.作用: ① 结束方法 ②...

RealBruce
31分钟前
40
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部