我正在使用 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
rewrite
和return
语句按顺序执行。您可以将特定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;
}