这个问题有点冗长,对此我深表歉意。情况就是这样:我有两个URL指向一个应用程序的两个不同版本。
https://www.codecanisters.in/devapp/(旧版本在此url上运行)
https://www.codecanisters.in/devapp/neo(新版本在此url上运行)
现在进入查询字符串重定向规则。我有很多基于访问者来源的活动。例如,假设一个广告系列foo的源ID为1100,那么访问者将使用以下网址访问旧应用:
https://www.codecanisaters.in/devapp/?source=1100&someothervar=somethingelse等。
发布新版应用后,我希望所有访问者都重定向到新应用,即https://www.codecanisters.in/devapp/neo,除非他们来自少数预定义来源,例如
https://www.codecanisaters.in/devapp/?source=1100或1200或1300,但其余访问者(无论源是什么还是URL中没有提供源)都应全部重定向到新应用。
理想情况下,如果可以在nginx config的位置块中实现这一点,那就太好了。我知道每个nginx文档是否有害,但是在这种情况下,如果我们必须使用if比较查询字符串,我不在乎。
还有另一个要求,当重定向到新的url时,所有查询字符串仍应保留而不引起重定向循环。