确定URI模式(Apache)的变量



实际上,我们正在使用Apache Web服务器托管我们的REST-API。脚本用lua编写,并用mod-lua映射。

例如,来自httpd.conf的实际摘要:

[...]
LuaMapHandler /restapi/(vd{3})/(w+) /opt/http/htdocs/restscripts/$1/$2.lua
[...]

因此,请求GET https://xxx/restapi/v001/articles映射到脚本/opt/http/htdocs/restscripts/v001/articles.lua

好吧,我希望你能真正跟随我。现在,我们必须使用模块扩展API,但是请求URI必须相同。是否有机会确定模块名称并将其写入变量?


示例 - 脚本路径:

/opt/http/htdocs/restscripts/module1/v001/articles.lua
/opt/http/htdocs/restscripts/module2/v001/orders.lua
/opt/http/htdocs/restscripts/module2/v001/payments.lua
/opt/http/htdocs/restscripts/module3/v001/employees.lua

lua-script是唯一的。

示例 - 请求:

GET https://xxx/restapi/v001/articles
GET https://xxx/restapi/v001/orders
GET https://xxx/restapi/v001/payments
GET https://xxx/restapi/v001/employees

httpd.conf应该像这样:

[...]
$MODULE=getModule
LuaMapHandler /restapi/(vd{3})/(w+) /opt/http/htdocs/restscripts/$MODULE/$1/$2.lua
[...]

我已经阅读了以下问题,但是这些变量并不依赖于URI。

如果您需要任何其他信息,请告诉我。谢谢

通过指定URI中的模块并在LUA脚本中进行评估来解决它。

相关内容

  • 没有找到相关文章

最新更新