Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 让Codeigniter 2.1.3允许Facebook反向链接_Php_Codeigniter - Fatal编程技术网

Php 让Codeigniter 2.1.3允许Facebook反向链接

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

碰巧我需要紧急修复Codeigniter问题,但对该工具一点也不熟悉

简单问题:我如何允许链接从Facebook返回

在不创建臭名昭著的URI的情况下,您提交的URI不允许使用字符(我可以通过设置$config['allowed_URI_chars']),也不创建404,因为CI的内部重定向


我很想了解这个问题的快速解决方法。

如果你可以使用
。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工作的人。听起来是一个更干净的解决方案。