• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php的header重定向的域名参数后边可以加路由吗?

php 搞代码 4年前 (2022-01-25) 21次浏览 已收录 0个评论
文章目录[隐藏]

<body>

<code><?phpif ( ! defined('BASEPATH')) exit('No direct script access allowed');session_start();Class Admin_Controller extends CI_Controller{    public function __construct ()    {        parent::__construct();            if(empty($_SESSION['name']))            {                header("Location: http://ci.com/admin");            }    }}</code>

结果为:

如果域名后边不添加admin参数的话是可以正常重定向的!
它会重定向到网站首页,我是想让它重定向到后台登入页面,所以才添加admin参数。

!本文来源gaodai#ma#com搞*!代#%^码网5

搞gaodaima代码

回复内容:

<body>

<code><?phpif ( ! defined('BASEPATH')) exit('No direct script access allowed');session_start();Class Admin_Controller extends CI_Controller{    public function __construct ()    {        parent::__construct();            if(empty($_SESSION['name']))            {                header("Location: http://ci.com/admin");            }    }}</code>

结果为:

如果域名后边不添加admin参数的话是可以正常重定向的!
它会重定向到网站首页,我是想让它重定向到后台登入页面,所以才添加admin参数。

你的header函数的参数设置没有错误,header后面是可以接受任何地址的。

出现重定向错误的原因是,你在admin这个控制器的构造函数里面进行判断,并试图将其重定向到http://ci.com/admin,而这个地址应该刚好就是你可以用于访问admin控制器的地址,这样就无限循环了。

所以,要么你将后台登入页面放到另外一个控制器中,要么你就不要在构造函数里就进行判断,而是在有需要的页面里分别进行判断,甚至写成一个函数让每个页面一开始都调用这个函数,至少留出后台登入页面不作判断。

这段代码从语法上讲是没问题的, header中的location可以指定任意绝对地址, 加admin也没关系。

可能是浏览器缓存了错误的定向,清空浏览器缓存、header下一行加exit;试试。

如果无效,很可能是当前网址与重定向后的地址相同,进入死循环了。

这就要把判断改成if (empty($_SESSION['name']) && !preg_match('admin', $_SERVER['REQUEST_URI'])), 如果当前页面是将要跳转的就不用跳了, 具体自己实现, 这里只是简写思路。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php的header重定向的域名参数后边可以加路由吗?

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址