我想知道这是不是一个bug,或者是我需要在PHP服务器上启用的东西。当我在URL中输入一个字符串查询时,如下所示:
www.website/test.php?f=123
并在我的本地计算机上使用$_GET或$_REQUEST,我就可以得到要显示的字符串查询:
Array
(
[f] => 123
)
然而,在我的PHP服务器上,我不能使用$_GET或$_REQUEST,它只显示一个空数组。使用$_SERVER['QUERY_STRING']
可以工作,我必须把这段代码放在我所有代码的开头:
parse_str($_SERVER['QUERY_STRING'], $request);
以获取字符串查询,但这似乎是一个临时解决方案,直到我了解为什么$_GET或$_REQUEST无法工作。
PHP服务器没有在IIS管理器下运行的重写模块/规则。我试过在IIS管理器下的默认网站下“允许查询字符串”并重新启动它,但也不起作用。如果可能的话,有人能告诉我要查找什么或解释为什么$_GET/$_REQUEST不起作用吗?
1条答案
按热度按时间w46czmvw1#
我在IISWindowsServer中遇到了同样的问题,我解决了在web.config文件中删除is属性的问题。
appendQueryString="false"
细化这条线:
<action type="Rewrite" url="index.php/{R:1}" appendQueryString="false" />
个并删除上面的属性