在编写我的登录系统时,我在使用Facebook授权用户时遇到了一个小问题......
当有人点击“使用Facebook登录”按钮并登录/授权我的应用程序后,Facebook将重定向回到我的网站,其中包含一系列$_GET
个变量。唯一的问题是我想检查是否设置了其中一个变量以检查Facebook登录的状态。
当我尝试拉$_GET
var时,它'说'它不存在。问题在于我使用mod_rewrite来清理我的网址:
#RewriteRule ^([A-Za-z0-9]+)/?$ ?a=b&content=$1 [L]
#RewriteRule ^([A-Za-z0-9]+)/([A-Za-z0-9]+)/?$ ?a=b&content=$1&page=$2 [L]
这转变为:www.mysite.com?content=login&page=2
进入www.mysite.com/login/2
因此,我www.mysite.com/content?state=[...]&code=[...]&...etc
的网址必须混淆Facebook分配的变量,以及要重写的$_GET
变量。
同样的事情发生在包含内容和页面集的网址上。例如:
www.mysite.com/content/page?state=......
解决这个问题的最佳方法是什么?我知道我可以找到另一种方式来显示已确认的Facebook登录信息,但这对将来的其他情况仍将是一个问题,我敢肯定。
提前致谢。
答案 0 :(得分:1)
尝试使用[L,QSA]
而非[L]
。