if / else语句重定向不起作用

时间:2013-08-01 18:55:29

标签: php

我根据情况做了这个重定向。

我有一个CMS,我正在开发该网站的移动版本。主要CMS与site_url.com相关联,而移动版本位于子域m.site_url.com上。下面的功能是在上述CMS中编辑的注销功能。

CodonModule作为移动网站index.php中的php include包含在内。这基本上加载了所有CMS的功能。

我提出的解决方案是否允许我在下面执行的重定向,或者我是否需要其他内容来查找子域,并根据该信息完成重定向?目前,它始终会将我重定向到else参数的链接,无论我在何处触发脚本,无论是在子域还是主域。因此,我想修复下面的脚本,并确保条件有效。

Auth::LogOut会触发注销过程。然后,我为用户添加重定向,将其重定向到桌面页面(else参数)或移动版本(如果它们位于子域中)。

当我在$die(subdomain)行的正下方$subdomain时,它会打印出域的名称。它不应该打印出m代替子域,还是我把这段代码弄得乱七八糟?

class Logout extends CodonModule 
{
    public function index()
    {

       $sub_domain = array_shift(explode(".",$_SERVER['HTTP_HOST']));

       if($sub_domain == 'm')
       {
           Auth::LogOut();
           header('Location: http://m.site_url.com/index.php');
       }
       else
       {
           Auth::LogOut();
           header('Location: '.url('/'));
       }
    }
}

1 个答案:

答案 0 :(得分:0)

尝试在session_start();下面的文件顶部添加<?php,其中您定义了index()函数,如果我是对的,则会话甚至没有启动(IDK) ,但尝试添加它..

也许它会起作用..