开发者社区> 问答> 正文

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

?php
if ( ! 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");
            }
    }
}

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

展开
收起
落地花开啦 2016-06-16 17:15:43 2742 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

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

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

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

    2019-07-17 19:41:27
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
创业公司的域名想象 立即下载
“域”见更美好的未来——域名筑梦互联网+ 立即下载
“域”感——《域名投资从入门到精通》 立即下载