是不是我用的有问题,如果ngx.arg[1]是proxy_cache返回的,ngx.re.match才能匹配成功,如果ngx.arg[1]是原站返回的,ngx.re.match就无法成功。
下面给出出问题的代码片段
local aname, err = ngx.re.match(ngx.arg[1], [=[<title>([^>\-]+) \-.* AAAAAA]=]) ------该行总能成功
if aname then
aname[1] = string.gsub (aname[1], "/", "\\/") -------aname[1]是中文词
ngx.log(ngx.ERR, "ngx.arg[1] aname: ", aname[1])
local id, err = ngx.re.match(ngx.arg[1], [=[id=([0-9]+)">[^<>]+</a><em>[^<>]+</em>[^<>]+</div>]=]) ------该行只在ngx.arg[1]是proxy_cache返回时,才成功
春哥,救命!