0

Code Igniter の初心者です。私のインデックスページはabc_welcomeという名前で、コードの下にあります

public function index()
{
    $this->load->library('session');
    $login_data = $this->session->userdata('user');

    if($login_data) {
        redirect('/product/product_details');
    }
    else {
                $this->display();
    }
}

そのため、すでにログインしているユーザーがヒットすると、製品ページにリダイレクトできます。しかし、奇妙なことに、リダイレクトされません。

ログインページと同じコードがあり、リダイレクトは問題ありません。

したがって、ユーザーが私の www.abc.com ページにアクセスしてもリダイレクトされず (ログインしている場合)、セッションではデータがチェックされていませんが、ログイン ボタンをクリックすると、明らかにセッションが正しいデータを取得します。私は彼に初めてリダイレクトしてもらいたい....私のデモサイト(私のラップトップ)ではもっと奇妙なことに、インデックスのリダイレクトが機能しています!!! ただし、hostgator.com ではありません。

前もって感謝します。ファーネス

4

3 に答える 3

1

皆様のご支援ありがとうございました。

私はついに.htaccessリダイレクトによってそれを機能させました。以下のコードを.htaccessに追加すると、期待どおりに機能します。

   RewriteEngine On
   RewriteBase /
   RewriteCond %{HTTP_HOST} ^www.abc.com [NC]
   RewriteRule ^(.*)$ http://abc.com/$1 [L,R=301]
于 2012-07-27T14:12:28.843 に答える
0

あなたが説明していることから、コードがラップトップでローカルに実行されている場合、コードは問題ないように思われるため、セッションデータが適切に保存/読み取られていない可能性があります。上記の base_url の他に、/appication/config.php で次の設定も確認する必要があります。

  1. ベース URL が www.abc.com の場合、$config['cookie_domain'] は .abc.com (先頭のドット) に設定する必要があります。
  2. $config['cookie_path'] 安全のために、これを「/」に設定してください
  3. $config['cookie_secure'] を FALSE に設定します (https のみを使用してサイトにアクセスする場合を除き、これを false のままにします

うまくいけば、それであなたが立ち上がって実行できるようになります。

于 2012-07-22T07:00:20.543 に答える
0

はい @farness を$config['base_url'] = 'http://www.abc.com/'; config.php ファイルに入れます

于 2012-07-22T06:38:04.780 に答える