我们有一个包含多个 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 配置问题。我们的系统管理员查看了配置和日志文件,并表示一切正常。
关于正在发生的事情有什么想法吗?为什么新的查询字符串值不会覆盖传递给第一个包含文件的原始查询字符串?我到处寻找答案,却完全空手而归。
提前致谢!