nginx 中的大规模重定向

问题描述 投票:0回答:1

我尝试配置大量重定向链接,例如

https://example.com/products/Borbone-Crema-Classica-1-Kg_45668050

https://example.com/products/borbone-crema-classica-1-kg--45668050

通过 nginx 和 PERL。

首先我需要将 url 寄存器从大写更改为小写:

nginx.conf 中的 PERL

perl_modules perl/lib;
perl_set $uri_lowercase 'sub {
my $r = shift;
    my $uri = $r->uri;
    $uri = lc($uri);
    return $uri;
}';

在 example.com.conf 中配置:

location /products/ {
    rewrite ^(.*)$ $scheme://$host$uri_lowercase;
}

但是网址不会变成小写,链接会将我重定向到主页

perl nginx http-redirect
1个回答
0
投票

我过去曾用它来通过 NGiNX Perl 小写重定向 URI:

perl 'sub { my $r = shift; $r->internal_redirect(lc($r->uri)); }';

因此您只需将其添加到您的位置即可:

location /products/ {
    perl 'sub { my $r = shift; $r->internal_redirect(lc($r->uri)); }';
}
© www.soinside.com 2019 - 2024. All rights reserved.