我重新加载同一页面的首选方法是$_SERVER['PHP_SELF']
header('Location: '.$_SERVER['PHP_SELF']);
die;
不要忘记在你的 header() 之后死亡或退出;
编辑: (感谢@RafaelBarros)
如果查询字符串也是必需的,请使用
header('Location:'.$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']);
die;
编辑:(感谢@HugoDelsing)
当 htaccess url 操作发挥作用时,$_SERVER['PHP_SELF'] 的价值可能会把你带到错误的地方。在这种情况下,正确的URL数据将用于您的重定向,这可能看起来像Nabil在下面的答案:$_SERVER['REQUEST_URI']
header("Location: http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]");
exit;
如果需要,还可以使用 $_SERVER[REQUEST_URI] 来分配正确的值。如果您大量使用重定向功能并且不想更改它,这会有所帮助。只需在请求处理程序中设置正确的 vale,如下所示:$_SERVER['PHP_SELF']
$_SERVER['PHP_SELF'] = 'https://sample.com/controller/etc';