2012-03-12 5 views
0

私は銀行にリンクされた商人のウェブサイトを持っています。 私は銀行でこの成功のURLを定義している:wwwを変更するとセッションが終了します

http://www.mydomain.com/deposit.php 

ユーザーが支払いプロセスを開始すると、彼は銀行のウェブサイトに入り、支払い後、彼は私のウェブサイトの成功のURLにリダイレクトします。 ユーザーが(WWWなし)このURLで私のウェブサイトを入力した場合:

http://mydomain.com/ 

セッションが期限切れになると、彼は再度ログインする必要があります。彼はこのURLを入力するときには:

http://www.mydomain.com/ 

セッションが期限切れになりませんし、すべてがオーケーです。どうすればこの問題を解決できますか?

+0

セッションをどのように通過していますか?クッキーまたはURL? –

+1

あなたのサーバーを変更して、自動的に 'yourdomain.com'を' www.yourdomain.com'にリダイレクトするように設定することをお勧めします。ウェブのインデックス作成は通常より楽しいです。 –

答えて

1

www。 (または単にhttp://mydomain.comを使用して強制的に).htaccessファイルを使用してください。

RewriteCond %{HTTP_HOST} !^www.mydomain\.com [NC] 
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R] 

! RewriteCondition内のアドレスは、アドレスが以下のものと等しくないときにRewriteRuleにリダイレクトするようにサーバーに指示します。

さらに多くの情報を見つけることができます。ウェブ上で.htaccessを使用してヒントを書き直してください。

注:

RewriteEngine On 

をし、設定がmod_rewriteのをサポートしていて、Apache(または他のホスト)を確認してください。これが機能するためには、あなたがあなたの.htaccessファイルで最初にこれを有効にする必要があります。 HTML5ボイラープレートの.htaccessから撮影

2

あなたのセッションCookieはおそらく具体的にはwww.mydomain.comに関連付けられているため、mydomain.comにアクセスすると、ブラウザはセッションCookieを送信しないように選択します。

ini_setの機能とsession.cookie_domainの値を見てください。

if (count(explode('.', $domain)) > 2) { 
    ini_set('session.cookie_domain', $domain); 
} 
+0

このコードはどこに挿入しますか?どのような文字列私は$ドメインで設定する必要がありますか? –

1

<IfModule mod_rewrite.c> 
    RewriteCond %{HTTPS} !=on 
    RewriteCond %{HTTP_HOST} !^www\..+$ [NC] 
    RewriteRule^http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 
</IfModule> 

あなたの.htaccessファイル内の問題を修正する必要があることを置きます。しかし、誰かがこの問題の原因を正確に説明しなければならないでしょう。

編集:パブロサンタクルーズのように私には思われる。

関連する問題