Php 让Codeigniter 2.1.3允许Facebook反向链接
碰巧我需要紧急修复Codeigniter问题,但对该工具一点也不熟悉 简单问题:我如何允许链接从Facebook返回 在不创建臭名昭著的URI的情况下,您提交的URI不允许使用字符(我可以通过设置$config['allowed_URI_chars']),也不创建404,因为CI的内部重定向Php 让Codeigniter 2.1.3允许Facebook反向链接,php,codeigniter,Php,Codeigniter,碰巧我需要紧急修复Codeigniter问题,但对该工具一点也不熟悉 简单问题:我如何允许链接从Facebook返回 在不创建臭名昭著的URI的情况下,您提交的URI不允许使用字符(我可以通过设置$config['allowed_URI_chars']),也不创建404,因为CI的内部重定向 我很想了解这个问题的快速解决方法。如果你可以使用。htaccess你可以重定向到任何地方。这避免了任何复杂的CI RewriteCond %{QUERY_STRING} . RewriteCond %{RE
我很想了解这个问题的快速解决方法。如果你可以使用
。htaccess
你可以重定向到任何地方。这避免了任何复杂的CI
RewriteCond %{QUERY_STRING} .
RewriteCond %{REQUEST_URI} !^/index.php
RewriteRule ^ /index.php/? [L]
更新:可能对nginx进行工作重写
if ($args ~ fb_action_ids=(\d+)){
rewrite ^ http://example.com/ permanent;
}
在application/config/config.php中设置以下变量:
$config['allow_get_array'] = TRUE;
$config['enable_query_strings'] = TRUE; // This is normally FALSE
如有必要,调整$config['allowed\u uri\u chars']
。我的是a-z0-9~%。:\-#代码>和几乎所有的工作
我不确定你需要如何处理fb数据,所以我只能说,设置了这些选项后,理论上你应该能够访问facebook提供的get VAR。codeigniter希望URI的第一部分是它加载的控制器,然后第二部分是方法,之后的每一段都是加载方法的参数。一个快速的解决方案是像在MVC3中一样使用正则表达式设置路由,并将其指向控制器和方法。然后可以从那里解析uri
匹配?fb\U操作\U ID并将其更改为/controller/method/?fb\U操作\U ID,然后从那里开始。也许有更多的信息,我可以帮助你更进一步,但如果这对你来说是可行的,这应该是最快的方法,不用重新配置一堆东西就可以恢复运行
你能让反向链接击中控制器吗?i、 e.domain.com/back/?fb…等等
?@Brendan:对不起,作为一个.NET的家伙,我从来没有碰过Codeigniter,我甚至不知道该去哪里找。我真的只是在寻找一个能持续到明天的快速修复方法……我是说,你能修改facebook创建链接的方式吗?或者参数总是直接放在根目录中吗?不,不能影响Facebook,而且很多喜欢的东西已经过时了。谢谢,太糟糕了,我忘了提一下:这些东西是在nginx上运行的,不是Apache。但我相信也有重写的可能。好主意,是的。有很多nginx重写的东西。谢谢,但我们还是采用了“雨水沟”的重写理念。事实上,正如我在问题中试图说的,我们不需要fb VAR,我们只是不想产生错误或404。谢谢!我们采用了重写解决方案,但我会将此转发给负责CI工作的人。听起来是一个更干净的解决方案。