IIS服务器(PHP)$_GET或$_REQUEST显示空的URL字符串查询

k0pti3hp  于 2022-11-12  发布在  PHP
关注(0)|答案(1)|浏览(132)

我想知道这是不是一个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不起作用吗?

w46czmvw

w46czmvw1#

我在IISWindowsServer中遇到了同样的问题,我解决了在web.config文件中删除is属性的问题。
appendQueryString="false"
细化这条线:
<action type="Rewrite" url="index.php/{R:1}" appendQueryString="false" />
并删除上面的属性

相关问题