1

map ディレクティブを使用して nginx(openresty) で一括リダイレクトをセットアップしようとしていますが、ソース 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

どんな助けでも大歓迎です、乾杯!

4

0 に答える 0