为什么PHP重定向在实际重定向之前加载页面?
问题描述:
我有一个页面需要几秒钟才能加载,并且使用PHP标头(“Location:”)设置了一个登录检查/重定向。当以注销用户的身份访问该页面时,我注意到在实际重定向到登录页面之前需要几秒钟,并且假定它首先呈现页面的完整代码。但是由于重定向需要在其他任何东西之前渲染,为什么它会继续执行剩余的页面代码?为什么PHP重定向在实际重定向之前加载页面?
答
你应该在header()
位置调用后立即exit()
停止任何其余的页面处理。从手动
<?php
header("Location: http://www.example.com/"); /* Redirect browser */
/* Make sure that code below does not get executed when we redirect. */
exit;
?>
示例