Codeigniter Facebook app POST方法和query_string

时间:2011-04-02 17:15:05

标签: facebook codeigniter

我有一个玩具Facebook应用程序我正在玩,所以我可以理解它是如何工作的。如果您像这样使用应用程序就可以了:http://apps.facebook.com/pushup-challenge/(并连接它)。但是,如果您从Facebook页面转到它,FB会使用URL http://apps.facebook.com/pushup-challenge/?ref=bookmarks

在我的日志文件中,我看到FB正在POST数据并包含/?ref = bookmarks以调用我的codeigniter系统。这导致它要么说“无效的URI参数”,要么给我404,这取决于我是否编辑了system / core / URI.php文件以将rawurlencode()添加到特定的调用中。

我也尝试过使用mod_rewrite去除query_string,但是因为它是POSTing,所以它似乎没有工作(虽然我不确定为什么)。

有没有其他人遇到这个?你是怎么解决的?

提前致谢, 汉斯

2 个答案:

答案 0 :(得分:2)

尝试$config['uri_protocol'] = “PATH_INFO”;并设置enable_query_strings = TRUE 要么 设置

$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-?=';

在config.php中

答案 1 :(得分:0)

因为它没有按名称调用你的文件(只是?ref =书签),所以服务器通过标准的默认文件运行:index.htm,index.html,index.asp。因为您需要接受POST,所以您需要一个允许POST到htm&的服务器。如果你选择使用那些HTML。 Index.asp将接受大多数服务器上的POST,这对我有用。 解决方案:添加一个文件(index.asp),该文件调用您在应用程序设置中命名的真实应用程序。