我有(很多,但現在),我正在處理一個項目的一個問題。大量的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