PHPセッションを使用しています。session_start() を使用してセッションを設定し、いくつかのセッション変数を設定しました。次に、それらのセッション変数を使用します。
ここで、ブラウザ ( http://example.com )でページを開くと、PHP セッションが開始されます。新しいタブで別のページを開くと ( http://www.example.com、URL の www に注意してください)、最初のセッションが消えます。
この状況を回避するための解決策は何ですか?
PHPセッションを使用しています。session_start() を使用してセッションを設定し、いくつかのセッション変数を設定しました。次に、それらのセッション変数を使用します。
ここで、ブラウザ ( http://example.com )でページを開くと、PHP セッションが開始されます。新しいタブで別のページを開くと ( http://www.example.com、URL の www に注意してください)、最初のセッションが消えます。
この状況を回避するための解決策は何ですか?
セッション ID は Cookie に保存されます。Cookie は特定のドメインに対してのみ有効です。この問題を力ずくで解決するには、session_set_cookie_params
(before session_start
) を使用して、関心のあるすべてのサブドメインで Cookie が有効であることを確認する必要があります ($domain
引数でこれを制御します)。
ただし、Web サーバー レベルでドメインの 1 つから別のドメインへの永続的なリダイレクトを設定することをお勧めします。公開サイトを持っていて、検索エンジンの評価を気にしている場合は、いずれにせよこれを行うことが不可欠です。
実際にすべきことは、そうしない十分な理由がない限り、1 つの URL だけを使用することです。私の知る限り、同じコンテンツにアクセスするために別の URL を使用することは、ブラウザー エンジンが重複コンテンツと見なすため、SEO にあまり適していませんでした。
www を常に使用するか、まったく使用しないように構成する必要があります。.htaccess
ファイルで行うのはかなり簡単です。