Поэтому у меня есть регулярное выражение на основе правила о местоположении, что-то вроде этого:Nginx - регулярное выражение расположение
location ~ /(abc.*xyz|def.*zxy|ghk.*qwe)/
Могу ли я проверить, какая часть регулярного выражения дали матч? Это означает, что если URL был как
/12abc34/
Чем я хотел бы знать, что это было подобрано
.*abc.*
Есть ли способ?
Я запускаю последний nginx, скомпилированный с lua-модулем на VM Debian на AWS.
------------ Обновление -------------
Я имею в виду использовать внутреннее расположение, но это будет некрасиво:
location ~ /(abc.*xyz|def.*zxy|ghk.*qwe)/
{
location ~ /(abc.*xyz){...}
location ~ /(def.*zxy){...}
...
}
Прямо сейчас у меня есть 60 шаблонов регулярных выражений. Это такой подход?
Считаете ли вы использование 'map' с' $ request_uri'? Подробнее см. [Этот документ] (http://nginx.org/en/docs/http/ngx_http_map_module.html#map). –