nginx 使用 URL 参数将永久重定向规则从一个域重定向到另一个域

nginx 使用 URL 参数将永久重定向规则从一个域重定向到另一个域

我正在使用 nginx 服务器块将 URL 从一个域重定向到另一个域,如下所示:

server {
        server_name subdomain.example.com
        return 301 https://subdomain.example2.com$request_uri;
        }

现在我需要通过捕获以下 URL 参数来执行相同的重定向: https://subdomain.example.com/some-unique-strings/xy000012345应永久重定向至https://subdomain.example2.com/ab/string?stringid=12345 需要动态捕获 xy0000 之后的数字并将其作为 stringid=(捕获的数字) 传递给新 URL

答案1

rewritereturn语句按顺序执行。您可以将特定rewrite语句放在一般return语句之前。请参阅这个文件了解详情。

例如:

server {
    server_name subdomain.example.com;
    rewrite ^/some-unique-strings/xy0000(.*)$ https://subdomain.example2.com/ab/string?stringid=$1 permanent;
    return 301 https://subdomain.example2.com$request_uri;
}

相关内容