Windows 7 (x64) で Apache 2.4.4 と PHP 5.4.14 を使用しています。私が抱えている問題は、php セッションが固執しないことです。これは Apache 2.2 および PHP 5.4.4 でも発生し、昨日更新されたのはphp.ini
.
クロムでは、書き換えルールを使用する場合にのみ、すべてのページのセッション ID が変更されます。書き換えルールを使用すると、Cookieが のままではなく、path
奇妙に に変わります。/pages_name/
/
Opera では、ページを更新してもセッション ID が変更されます。IEでもそうです。
どちらの場合も、ブラウザは Cookie を受け入れます。
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z]+)/([a-zA-Z0-9]+)/([a-zA-Z0-9]+)/?$ index.php?page=$1&info1=$2&info2=$3 [L]
RewriteRule ^([a-zA-Z]+)/([a-zA-Z0-9]+)/?$ index.php?page=$1&info1=$2 [L]
RewriteRule ^([a-zA-Z]+)/?$ index.php?page=$1 [L]
検索した後、いくつかの「解決策」に出くわしましたが、どれも機能しませんでした
セッションの保存パスは機能しており、ファイルが書き込まれています。デフォルトのセッション ハンドラを使用します。
session.cookie_path
に設定/
session.cookie_lifetime
それ以外に設定0
私は使用していませんsession_regenerate_id
session_start( );
すべてのページのコードの最初の行です
さらに情報が必要な場合は、この投稿を更新します。ありがとうございます。
さらに調査すると、それは s の問題であることが判明しましたRewriteRule
。まだ修正方法がわかりません。
また、からのCookieは、フォルダーでありながら変数であるかのようにsession_start( )
設定されます。このため、すべてのページが独自のを取得します。修正のアイデアはありますか?localhost/home/
localhost/index.php?page=home
session id