ホームページ > バックエンド開発 > PHPチュートリアル > nginx の擬似静的書き換え後に PHP が Cookie を読み取れなくなることに関連する問題

nginx の擬似静的書き換え後に PHP が Cookie を読み取れなくなることに関連する問題

WBOY
リリース: 2016-06-13 12:07:15
オリジナル
1406 人が閲覧しました

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 を読み取ることができるページにジャンプするため、検索エンジンの登録には影響しません

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート