複数の SSI ステートメントを含むページがあります。例えば:
<body>
Some text<br/>
<!--#include virtual="/path/file.php?f=foo&b=bar" -->
More text<br/>
<!--#include virtual="path/newfile.php?t=test&qs=querystring" -->
</body>
PHP ファイルは、クエリ文字列の値に基づいて何らかの処理を行い、HTML を出力します。
最初のインクルードは正常に機能します。$_GET を使用すると、問題なく f と b の値を取得できます。問題は、残りのインクルード ファイルに付属しています。たとえば、newfile.php が呼び出され、t および qs の値を取得しようとすると、それらは空になります。ただし、f と b は取得できます。新しいクエリ文字列が他のインクルード ファイルに渡されても、元のクエリ文字列が保持されているようです。
WAMP を使用してローカルで試しましたが、問題はありません。したがって、サーバー上の Apache または PHP の構成の問題であるかのように見えます。システム管理者が構成とログ ファイルを調べたところ、すべて問題ないようです。
何が起こっているかについてのアイデアはありますか?最初のインクルード ファイルに渡された元のクエリ文字列が、新しいクエリ文字列の値で上書きされないのはなぜですか? 私はどこでも答えを探しましたが、完全に手ぶらで出てきました。
前もって感謝します!