0

条件に応じてユーザーを別のディレクトリにリダイレクトすることで、CMS のログアウト トリガーを変更したいと考えています。基本的に、私は自分の CMS を持っており、その外側のサブドメインm.site_url.comにサイトのモバイル バージョンを持っています。

論理的には、ユーザーがモバイル サイトでログアウトした場合に、モバイル バージョンのホームページにリダイレクトすることは理にかなっています。同様に、PC 上の CMS についても同様です。

class Logout extends CodonModule 
{
    public function index()
    {
        Auth::LogOut();
        header('Location: '.url('/'));
    }
}

上記はユーザーをログアウトしurl、CMS のホームページである指定された にリダイレクトします。したがって、if/else ステートメントが必要です。ユーザーがサブドメインでログアウトしている場合、サブドメインのインデックス ページにリダイレクトされます。これどうやってするの?URL を検出してリダイレクトしようとしましたが、惨めに失敗しているように感じます。

理想的には、他のさまざまな側面に適用できるソリューションが欲しいです。ログインプロセス中に重要になる可能性があります。通常、パスワードが間違っていると CMS からのメッセージ ページが表示されますが、やはりモバイル ユーザーをデスクトップ サイトなどにリダイレクトしても意味がありません。

class Logout extends CodonModule 
{
    public function index()
    {

        Auth::LogOut();

        $url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
        if (false !== strpos($url,'m.site')) {
        {
        header('Location: http://m.site_url.com/index.php');
        }
        else
        {
        header('Location: '.url('/'));
        }
    }
}
4

1 に答える 1

1

以下を使用して、サブドメインの名前を取得できます。

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

そして、それを使用して、現在サブドメインにいるかどうかを判断し、そうであればどのサブドメインにいるかを判断し、それに応じて行動します.

編集:

class Logout extends CodonModule 
{
    public function index()
    {

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

    die($sub_domain); //debug the value

    if($sub_domain == 'm')
    {
        Auth::LogOut();
        header('Location: http://m.site_url.com/index.php');
    }
    else
    {
        Auth::LogOut();
        header('Location: '.url('/'));
    }
  }
}
于 2013-07-30T21:30:31.040 に答える