如何使用(mod rewrite powered)漂亮的URL读取$ _GET变量

时间:2012-05-11 16:57:48

标签: php .htaccess get

Hello其他程序员,

我第一次使用不错的网址而且我无法找到为什么我无法从我的脚本中读取oAuth回复。

所以这是我的设置:

的.htaccess

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [PT,L]

我有一个使用googles oAuth系统登录用户的脚本。此脚本将用户发送到google api页面,在那里他们可以允许我的网站阅读他们的电子邮件地址,然后将用户立即发送回我的网站,其中包含大量$ _GET变量。

我告诉谷歌将其发送到

http://mywebsite/login/google/response

并且确实如此..

问题是Google会以正常的GET格式发送结果,如下所示:

http://mywebsite/login/google/response/?openid.ns=http%3A%2F%2Fspecs.openid.ne[..]

我的脚本无法读取它..

有没有办法在混合好网址时读取$ _GET变量?

1 个答案:

答案 0 :(得分:8)

您需要在标志中添加QSA(查询字符串追加)。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [QSA,PT,L]

然后您的$_GET将包含正确的值。