Nginx map redirect capture regex / query string capture и redirect to new

Я пытаюсь настроить массовые перенаправления в nginx(openresty) с помощью директивы map, но сталкиваюсь с некоторыми проблемами с захватом строки регулярного выражения / запроса из исходного URL-адреса и пересылкой на целевой URL-адрес. ниже похоже на мою настройку

nginx.conf похож на

map_hash_bucket_size 512;
map_hash_max_size 32768;
map $uri $new_redirects {
  default "none";
  include /usr/local/openresty/nginx/conf/new_redirect.map;
   }

Серверный блок

if ($new_redirects != "none") {
   return 301 $scheme://$http_host$new_redirects;
   }

новая карта перенаправления содержит перенаправления ниже

~^/test/123/(\w+)(\w+).*$ /US/en/test/$1-$2;

Что работает хорошо, но я изо всех сил пытаюсь получить следующие строки

  1. Часть URL-адреса для захвата регулярных выражений

/Product.html?ProdNo=A5441&Brand=COMPANY

Захваты в новом URL

/US/en/product/COMPANY-A5441

2. часть URL-адреса для захвата регулярных выражений

/ProductDetail.do?&N5=SEARCH_CONCAT_PNO|BRAND_KEY&F=SPEC&N4=AV35016|COMPANY

Захваты в новом URL

/US/en/product/COMPANY-AV35016

Любая помощь будет принята с благодарностью, Ура всем!

0 ответов

Другие вопросы по тегам