apache - 从uri模式确定变量(Apache)

标签 apache rest centos rhel mod-lua

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

例如来自 httpd.conf 的实际片段:

[...]
LuaMapHandler /restapi/(v\d{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 脚本是独一无二的。

示例 - 请求:
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/(v\d{3})/(\w+) /opt/http/htdocs/restscripts/$MODULE/$1/$2.lua
[...]

我已经阅读了以下 question ,但这些变量并不依赖于 uri。

请告诉我,如果您需要任何进一步的信息。谢谢

最佳答案

通过在 uri 中指定模块并在 lua 脚本中对其进行评估来解决它。

关于apache - 从uri模式确定变量(Apache),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55144776/

相关文章:

Azure Graph API - 批准 PIM 请求

eclipse - Jersey , Tomcat : The requested resource is not available error

linux - Apache 将 HTTPS 重定向到 HTTP

apache - 配置日志记录以捕获失败的用户登录尝试

eclipse - 用于连接到 mysql 数据库的 Java Web 服务

python - FastAPI - 编写具有多个条件的 REST API 的最佳实践

numpy - 如何在不编译源代码的情况下安装 Numpy

apache - htaccess - 子域作为 GET 参数

sql - 如何在现有 Hbase 表上创建 Phoenix 表/ View

mysql - 端口重定向