一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

nginx lua 与 autoindex测试笔记

时间:2013-11-28 编辑:简简单单 来源:一聚教程网

nginx-lua 不仅可以做接口, 还可以处理上层的输出 ( upstream outputs)。

比如下面的例子:

 代码如下 复制代码
        location /sqlite {
                autoindex on;
                autoindex_localtime on;
        }

/sqlite目录开了autoindex,界面极简单,无任何css和js,想对其做出美化,无从下嘴。

效果图:

nginx_lua_autoindex

最近学习了nginx-lua,突然发现有可行方案了:

           

 代码如下 复制代码
     body_filter_by_lua '
                        local b = ngx.arg[1]
                        --单双引号的问题。 双引号要用\二个斜线转义。 单引号要用一个斜线转义。 前提条件是body_filter_by_lua 后面用的是单引号。
                        ngx.arg[1] = string.gsub( b, "()", "%1 ")

                ';
通过body_filter_by_lua,可以对 http 输出( ngx.arg[1])进行处理,从而达到附加css文件的目的。
再通过
echo_after_body
就可以方便地在结束之后,附加js代码:

 代码如下 复制代码
set $append_js  "";
echo_after_body $append_js;

效果图:

nginx_lua_autoindex_new

貌似越改越丑了……

PS: echo_after_body 不影响tar.gz文件下载。即:不会在tar.gz文件里面附加东西…否则就无法解压了。
求原理。

热门栏目