【发布时间】:2021-12-01 04:05:05
【问题描述】:
我试图在保留 URL 查询参数的同时将用户重定向到新 URL。我正在尝试这个,它没有传递 URL 参数:
location = /api/redirects {
return 301 /api2/redirects;
}
https://example.com/api/redirects?param=1&anotherParam=10
=> https://example.com/api2/redirects
我也试过了:
location = /api/redirects {
return 301 /api2/redirects$is_args$args;
}
【问题讨论】:
-
您是否在进行配置更改后重新启动了 Nginx 并重置了浏览器缓存。您的
$is_args$args修复应该有效。与其依赖浏览器,不如使用curl -I http://example.com/api/redirects进行测试 -
@LearningPath 与
return指令相反,rewrite将保留任何现有的查询参数:rewrite ^ /api2/redirects permanent;
标签: nginx redirect url-rewriting