我使用标题(‘Location:’)将用户重定向到另一个网页。但是,新地址不是覆盖地址栏上的前一个地址,而是附加到已经存在的地址。例如:
地址栏目前保存:
localhost/v2/admin
在header('Location:'.DIRADMIN.'login.php');中,DIRADMIN是定义为
define(DIRADMIN,'localhost/v2/admin/');然后,在重定向之后,新的地址栏将是
localhost/v2/admin/localhost/v2/admin/login.php我以为是因为服务器,我用的是。我用的是制服零服务器。但后来我安装了WAMP,问题还在继续。
我仍然是个新手,我不知道是什么导致了这一点,如果问题是因为mod_rewrite,那么在这两个服务器上模块都是活动的。我已经检查了一些问题,比如redirect-PHP header(Location:..)
在其他方面。我甚至做了谷歌搜索,但没有结束。我该如何解决这个问题?
header_remove();将不起作用,因为第一个地址是手动输入的,而不是由header();设置的。
发布于 2015-06-25 14:51:28
定义
define('DIRADMIN','localhost/v2/admin/);作为
define('DIRADMIN','http://localhost/v2/admin/');发布于 2015-06-25 14:46:13
如果没有http前缀,浏览器将尝试查找相对于当前路径的路径。
添加"http://“as so”
header('Location: '.DIRADMIN.'login.php');如果希望URL相对于域根路径,则只需添加“/”即可。
header('Location: /'.DIRADMIN.'login.php');您应该始终尝试使用相对路径-这样,如果您更改域,您的代码仍然工作。
https://stackoverflow.com/questions/31053609
复制相似问题