Я хочу написать скрипт, который переписывает URL-адрес в mod_lua, то есть я хочу унаследовать строку запроса, например флаг QSA для mod_rewrite.
Конфиг 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