Codeigniter将域重定向到子域


Codeigniter redirect domain to subdomain

我正试图使用codeigners(3)重定向($domain)将example.com重定向到子域.example.com。但当我只想要$domain时,我在浏览器地址栏中看到的是base_url/$domain。

控制器设置为查看url并确定用户是否在没有子域的情况下访问过。如果是这种情况,他们会被重定向到一个视图,询问他们来自哪里。然后,这些数据通过$_POST传递给同一个控制器,告诉它它们来自哪里。

$this->load->helper('url');
    $subdomain_arr = explode('.', $_SERVER['HTTP_HOST'], 2);
    $subdomain = $subdomain_arr[0];
    if ($_POST != NULL)
    {
        $post = $_POST; 
        $subnames = $this->sendy->subName($post);//returns subdomain 
        foreach ($subnames as $subname) 
        {
            $sub = $subname->subdomain;
        }
        $subdomain = $sub;
        $period = ".";
        $domain = $subdomain.$period.$subdomain_arr[0].$period.$subdomain_arr[1];
        redirect($domain, 'auto');
    }

有成千上万个可能的子域。我只需要codeigniter来准备子域并重新加载页面,以便url在浏览器地址栏中显示为子域。example.com.

Derp!我在$domain var中添加了http://,现在它可以正常工作了。对不起你的混蛋。

$subdomain_arr = explode('.', $_SERVER['HTTP_HOST'], 2);
    $subdomain = $subdomain_arr[0];
    if ($_POST != NULL)
    {
        $post = $_POST; //this is the library name
        $subnames = $this->sendy->subName($post);
        foreach ($subnames as $subname) 
        {
            $sub = $subname->subdomain;
        }
        $subdomain = $sub;
        $period = ".";
        $http = "http://";
        $domain = $http.$subdomain.$period.$subdomain_arr[0].$period.$subdomain_arr[1];
        redirect($domain, 'location');
    }

现在添加了$http之后,重定向就可以正常工作了。