如何使用PHP重定向到同一页面?
例如,在本地,我的网址是:
http://localhost/myweb/index.php
我如何在我的网站中重定向到另一个页面,比如:
header("Location: clients.php");
我知道这可能是错误的,但我真的需要把整个事情放在一起吗?如果以后它不是http://localhost/
怎么办?
有没有办法做这样的事情?另外,我有很多代码,最后在处理完一些代码后……我正在尝试使用它来重定向。这样可以吗?
发布于 2011-11-15 11:11:43
发布于 2011-11-15 12:09:33
我喜欢用$_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数据将在$_SERVER['REQUEST_URI']
中用于重定向,这可能看起来像纳比尔的答案如下:
header("Location: http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]");
exit;
如果需要,还可以使用$_SERVERREQUEST_URI将正确的值分配给$_SERVER['PHP_SELF']
。如果您大量使用重定向函数并且不想更改它,这会有所帮助。只需在请求处理程序中设置正确的值,如下所示:
$_SERVER['PHP_SELF'] = 'https://sample.com/controller/etc';
发布于 2013-05-10 11:56:13
另一个优雅的例子是
header("Location: http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]");
exit;
https://stackoverflow.com/questions/8130990
复制相似问题