问题 1:我有一个使用格式的现有 APIhttps://sub1.domain.com/whatever?test=yes在 sub1 子域名上,但现在我想切换到 sub2 子域名,格式如下https://sub2.domain.com/v2/page/embed?new=1
旧请求应该仍然有效,但会被“转发”或“重定向”到新的请求格式和不同的子域。理想情况下,这会无缝发生(在幕后透明地发生),并且不需要 cURL 遵循重定向,除非这是不可避免的。
问题2:或者,我可以妥协回复 API 请求https://sub1.domain.com/whatever?test=yes使用相同的格式,但“转发”或“重定向”到新的子域名,例如https://sub2.domain.com/whatever?test=yes
重点在于,超过 25,000 名使用旧格式的用户无需更新他们的代码即可从 sub2 上的新服务器获得服务,而且最好使用新格式(无需维护两组 API 参数)。
感谢您的支持。谢谢!
更新:
我可以自己找到答案。这将对将来的某些人有所帮助。
对于第一季度:
location / {
if ($arg_test ~* yes) {
return 301 https://sub2.domain.com/v2/page/embed?new=1;
}
}
对于第二季度:
location / {
if ($arg_test ~* yes) {
rewrite ^(.*)$ https://sub2.domain.com$1;
}
}
答案1
您可以使用:
server {
# Permanent redirect to an individual page
rewrite ^/oldpage$ newpage permanent;
}
答案2
我可以自己找到答案。这将对将来的某些人有所帮助。
对于第一季度:
location / {
if ($arg_test ~* yes) {
return 301 https://sub2.domain.com/v2/page/embed?new=1;
}
}
对于第二季度:
location / {
if ($arg_test ~* yes) {
rewrite ^(.*)$ https://sub2.domain.com$1;
}
}