nginx の疑似静的書き換え後に php が cookie を読み取れなくなる問題
質問に答えてくれる人は、私の問題の説明をよく読んでほしいと思います。
ホスト エンジンは nginx です
まず、書き換えルールが正しいことを確認します。 rewrite ^/([0-9] ).htm /1.php last;
テストとして、いいえどのWebページでも1.phpにマッピングすると通常の機能が実装されますが、Cookieの読み取りに問題があります。
<br /><?php<br />$value = "my cookie value";<br />setcookie("TestCookie2",$value, time()+3600*24);<br />print_r($_COOKIE);<br />?><br />
ログイン後にコピー
1.php を直接呼び出し、COOKIE を正常に出力することは問題ありません。 1.htm を呼び出すと、COOKIE は空で出力され、ブラウザの COOKIE は正常です。
次の 2 つの型を再度テストします
rewrite ^/([0-9] ).html /1.php last;
rewrite ^/([0-9] ).shtml /1 .php last;
1.html、1.shtml は Cookie を正常に読み取れません
続行します。^/([0-9] ).abc /1.php last; > 1.php を普通に呼び出すのと同じように、Cookie を正常に読み込むことができます
静的 Web ページは Cookie を渡さないと判断され、パケット傍受の結果、ブラウザのヘッダーに Cookie がまだ存在していることがわかります
どうすれば解決できますか?
------解決策のアイデア----------------------
反省していないはずです本当の状況------解決策----------------------
1.htm、COOKIEを呼び出すprints empty Cookie を設定するときは、4 番目のパラメータを設定してみてください。
------ソリューションのアイデア----------------------
現在の解決策は、JS Read を使用することです、その後、Cookie を読み取ることができるページにジャンプするため、検索エンジンの登録には影響しません