我有(很多,但现在),我正在处理一个项目的一个问题。大量的API /框架混搭问题(oAuth,Facebook,Twitter,代码点火器)
- 这是代码点火器PHP项目运行
- 它是要使用OAuth Twitter的授权
笨默认清除$ _GET数组,因为它使用的URI的Facebook应用程序控制MVC的东西。您可以关闭此功能以访问GET数组,并使用像example.com/?c=MyController&m=MyMethod
这样的字符串来解决此问题。
Facebook要求您为您的应用程序页面定义一个根网址。这意味着,对我来说:
apps.facebook.com/MyApplication == http://www.myownserver.com/index.php/c=SignIn&
我把它设置了这种方式,以便它可以使用$ _GET数组。当Twitter的(和我承担任何其他的实现)使用OAuth,它传回给你想要追加到年底?token=250937602736037609273609327
任何URL,所以我在
app.facebook.com/MyApplication/?token=302870637602746094276097
看起来正确的结束,但实际上是等价到
http://www.myownserver.com/index.php/c=SignIn&?token=302870637602746094276097
所以问题是,你不能在URL中有两个问号;第二个需要是&符号(&)以将更多的值串在一起。错误信息是一个可预测的Disallowed Key Characters.
任何人都可以通过一种很好/聪明的方式来解决我遇到的这个问题吗?我真的不希望转储此设置的CodeIgniter部分,因为它有一个很好的数据库抽象和好帮手,我已经写了很多代码。
感谢您的任何建议。
Dav是正确的,最简单的方法是重写url之前,它由codeigniter的url解析器处理(实际上mod_rewrite你应该能够重写url和查询字符串) – Sergi 2009-11-23 20:31:57