【发布时间】:2017-01-30 08:36:01
【问题描述】:
我想写一个在mod_lua中重写URL的脚本,也就是我想继承mod_rewrite的QSA标志之类的查询字符串。
mod_rewrite 配置:
RewruteCond ^/foobar/([0-9A-Za-z]+)/(.+)$
RewriteRule ^.*$ /foobar/$2?_ID_=$1 [QSA,L]
我尝试在 mod_lua 中编写如下代码,但效果不佳。 请告诉我有什么问题吗? 还有,是不是能写出更简单的代码?
mod_lua 配置:
LoadModule lua_module modules/mod_lua.so
LuaHookTranslateName /usr/local/httpd/conf/extra/lua/router.lua app_routing
/usr/local/httpd/conf/extra/lua/router.lua路由:
require "apache2"
function app_routing(r)
local matches = r:regex(r.uri, [[^/foobar/([0-9A-Za-z]+)/(.+)$]])
if matches then
r.uri = "/foobar/" .. matches[2]
if r.args then
r.args = r.args .. "&_ID_=" .. matches[1]
else
r.args = "?_ID_=" .. matches[1]
end
end
end
【问题讨论】:
标签: apache mod-rewrite lua mod-lua