【问题标题】:Mod Rewrite and Facebook $_GET variablesMod Rewrite 和 Facebook $_GET 变量
【发布时间】:2013-02-08 07:33:05
【问题描述】:

在编写我的登录系统时,我在使用 Facebook 授权用户时遇到了一个小问题......

在有人单击“使用 Facebook 登录”按钮并登录/授权我的应用后,Facebook 会像往常一样使用一系列 $_GET 变量重定向回我的网站。唯一的问题是我想检查是否设置了其中一个变量以检查 Facebook 登录的状态。

当我尝试拉出$_GET 变量时,它“说”它不存在。问题在于我使用 mod_rewrite 来清理我的 url 的外观:

#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 url 肯定混淆了 Facebook 分配的变量,以及要重写的 $_GET 变量。

同时包含内容和页面集的 url 也会发生同样的情况。例如: www.mysite.com/content/page?state=......

解决这个问题的最佳方法是什么?我知道我可以找到另一种方式来显示已确认的 Facebook 登录信息,但我敢肯定,这在未来的其他情况下仍将是一个问题。

提前致谢。

【问题讨论】:

    标签: php .htaccess mod-rewrite


    【解决方案1】:

    尝试使用[L,QSA] 而不仅仅是[L]

    【讨论】:

    • 谢谢。我认为我的情况可能是独一无二的,因为我已经有一些重写代码,但我应该假设已经有一些内置功能。再次感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-30
    • 2017-07-02
    • 1970-01-01
    • 2014-12-22
    • 2016-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多