Определить переменную из шаблона URI (Apache) - PullRequest
0 голосов
/ 13 марта 2019

На самом деле мы используем веб-сервер 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
[...]

Я уже прочитал следующий вопрос , но эти переменные нене зависит от URI.

Пожалуйста, скажите мне, если вам нужна дополнительная информация.Спасибо

...