1

私はゼロから mvc サイトを開発しましたが、ローカルでは動作しますが、なんと驚きです ! 私のホスティングにアップロードされたサイトを試してみてもうまくいきません。

ログイン シーケンスは次のとおりです。すべてのページで、ログイン (http) されているかどうかがチェックされ、ログインされていない場合はログイン ページ (https) にリダイレクトされます。常にログインページにリダイレクトされます。

いくつかの調査の後、私はその理由を発見しました: https と http の間で php セッションが失われます。

ローカルでもリモートでも機能しない理由はわかりませんが、php ローカル設定により、php セッション識別子が http と https の PHPESSID として設定され、リモート設定では設定されていないと思います。

問題について考えてみると、セッション識別子を https から http に渡すか、サイト全体を https に変更して次のように URL を書き換えることで問題を解決できることがわかりました。

intranet.mysite.com/anypage/

ホスティング共有 SSL https://server.subdomain/~user/public_html/intranet/anypage/

追加情報

ページは hostgator でホストされています。URL パスは次のとおりです。

サイト intranet.mydomain.com

ssl 共有アクセス https://gatorxxx.hostgator.com/~user/intranet

URL間でセッションを機能させるにはどうすればよいですか?

ありがとう。

4

1 に答える 1

3

私の理解が正しければ、別のドメインで SSL ページをホストしていますか? その場合、Cookie はサブドメイン (または Cookie ドメインが設定されているドメイン) によってバインドされるため、PHP セッション Cookie は失われます。

于 2013-08-30T10:48:16.420 に答える