4

我在我的开发服务器上为客户端开发了一个网站,并将其推送到生产服务器。在这两个站点上,URL 类似于http://www.siteurl.com/blogs/?m=09&y=2012

在开发服务器上,如果 I var_dump($_GET),我会得到我期望的值。

在生产服务器上,如果 I var_dump($_GET),我得到一个空数组。

如果有帮助,我会发布,我什至phpinfo()不知道哪些设置可能会导致这种情况。

谢谢。

4

2 回答 2

5

我遇到过同样的问题。

请参阅此论坛讨论:http: //forum.kohanaframework.org/discussion/734/_get-empty/p1

Solved replacing this:
RewriteRule .* index.php/$0 [PT,L]

for this:
RewriteRule .* index.php?$0 [PT,L]

将新规则添加到 .htaccess。它会起作用

RewriteRule ^[A-Za-z]+$ index.php?$1 [QSA,L]
于 2012-10-03T18:17:57.337 回答
2

正如我上面所说,您需要QSA标志(阅读“查询字符串附加”)将查询字符串传递给 PHP:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /subdir/
    RewriteRule ^index\.php$ - [L,QSA]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /subdir/index.php [L,QSA]
</IfModule>
于 2012-10-03T18:39:37.920 回答