Nginx批量URL重定向

时间:2018-06-22 01:47:03

标签: nginx url-rewriting

我在Nginx中映射了URL(批量重定向级别)

nginx.conf

map $uri $new_url2{
  include /var/www/html/**ext.map**;
}

=== **ext.map** Inside File
/en_us/abc.html /en_us/abc22.html;
/it_it/abc.html /it_it/abc22.html;
/fr_fr/abc.html /fr_fr/abc22.html;

nginx_host.conf

if ($new_url2)
        {
                return 301 $new_url2;
                break;
        }

一切正常。由于网址中的位置限制,我需要针对各个国家/地区明智地生成多次。

我正在尝试捕获位置部分并添加重定向URL。

1 个答案:

答案 0 :(得分:0)

通过在map~中引入正则表达式,您可以在~*块中使用它。有关详细信息,请参见this document

使用命名捕获记录语言代码,以便可以使用它来构造新的URI。在包含括号{}的表达式周围使用双引号。

例如:

"~*^(?<lang>/\w{2}_\w{2})/abc.html" $lang/abc22.html;