大家好,我们在日常开发过程中,经常会遇到如下场景:
在测试环境,我希望访问我的网站http://域名 的时候显示A页面,在beta环境,我希望访问我的网站http://域名 的时候显示B页面,在正式环境,我希望访问我的网站http://域名 的时候显示C页面 ,而显示不同页面的时候浏览器里的地址不能发生变化或者跳转。
自然有很多人想到了302/301重定向操作:
<?php
if(条件A){
ob_end_clean();
header("Location: http://www.csdn.net");
exit;
}
if(条件B){
ob_end_clean();
header("Location: http://www.baidu.com");
exit;
}
?>
但是当你重定向跳转过去, 浏览器在拿到服务器返回的这个状态码后会自动跳转到一个新的URL地址,用户看到的效果就是他输入的地址A瞬间变成了另一个地址B。这明显不符合我们的需求。
另外你重定向次数过多可能会导致用户体验不佳,甚至影响网站的正常运行,甚至会提示”重定向次数过多(ERR_TOO_MANY_REDIRECTS)“。
在游戏开发审核这块,大家都叫他"换皮". ok,我们就针对这类需求场