我正在开发一个新的顶级域名,并将新域名的访问者重定向到旧域名,除了我自己在登台服务器上的工作:
我有一条规则,如果您没有访问暂存服务器,它就会重写主机,这就像一颗炸弹。
if ($host != 'staging.xxx.com') {
rewrite ^/(.*)$ http://xxx.co.za/$1 permanent;
}
问题是我们正在使用的另一个站点的某些回调正在命中xxx.com/s/callback
。目前正在重定向到该.co.za
站点,但我真的希望它重定向到暂存服务器。
我在前面的代码上添加了以下内容:
location ~ /s/ {
rewrite ^/(.*)$ http://staging.xxx.com/$1 permanent;
}
但这似乎没有捕获回调,即如果我访问xxx.com/s/callback
它仍然会重定向到.co.za
。
有人能描述一下如何嵌套这些位置和 if 语句吗?
谢谢你!
答案1
我认为你做得对,并且很可能在处理它时看到缓存问题......
暂时将“permanent”改为“redirect”,并添加一行类似:expires epoch;
当你测试停止浏览器缓存时
最好的,
-埃里克