我的 _GET 美元怎么了


What happened to my $_GET?

我在亚马逊上有一个ec2服务器和一个index.php文件。

此文件具有以下代码:

<?php
    var_dump($_GET);
?>

我正在传递这个GET参数:

?code=settings

在本地主机(wamp)上,我得到这个:

array (size=1)
  'code' => string 'settings' (length=8)

在我的服务器上,我得到这个:

array(2) { ["page"]=> string(0) "" ["lang"]=> string(0) "" }

上面的测试是在将问题隔离到最少的代码行之后。我不知道实时站点上的这些参数是什么,也不知道从哪里开始调查。

你有 .htaccess 文件吗?如果是这样,请检查您的查询是否未被重写,例如:

RewriteRule ^('w*)(/([a-z]{2}))?$ /index.php?page=$1&lang=$2

若要保留原始查询,需要在规则末尾添加 [QSA](查询字符串追加),如下所示:

RewriteRule ^('w*)(/([a-z]{2}))?$ /index.php?page=$1&lang=$2 [QSA]

希望这有帮助