2

当我在我的 Facebook 墙上分享链接http://www.totalrunning.com/results/misFotos/TTRCAR1346364033/283 (Codeigniter Url's)时看起来很好,但是当单击生成的 URL 时是: http ://www.totalrunning.com/结果/misFotos/TTRCAR1346364033/283?fb_action_ids=441641579216005&fb_action_types=og.likes&fb_source=aggregation&fb_aggregation_id=288381481237582

fb_action_ids 添加在其他参数中,这会导致 url 无法正确解析

我可以做的是让 facebook 不把这些参数放在我的 url 中,或者像使用 Codeigniter 处理一样???

谢谢

4

3 回答 3

0

启用查询字符串

在某些情况下,您可能更喜欢使用查询字符串 URL:

index.php?c=products&m=view&id=345

CodeIgniter 可选地支持此功能,可以在您的 application/config.php 文件中启用。如果你打开你的配置文件,你会看到这些项目:

$config['enable_query_strings'] = FALSE;
$config['controller_trigger'] = 'c';
$config['function_trigger'] = 'm';

如果更改enable_query_strings为此TRUE功能将变为活动状态。然后,您的控制器和函数将可以使用您设置为调用控制器和方法的“触发器”字词访问:

index.php?c=controller&m=method

您可以在此处的 Code Ignitor 用户指南中阅读更多信息:http: //codeigniter.com/user_guide/general/urls.html

于 2012-10-02T16:33:45.660 回答
0

我找到的解决方案是通过使用 Codeigniter .htaccess 的同一个文件来隐藏 index.php

在此 htaccess 上方放置以下内容:

# -----------------
RewriteCond% {QUERY_STRING} ^ fb_action_ids = (. *) $ [NC]
RewriteRule ^ (. *) $ / $ 1? [R = 301, L]
# -----------------

使用此代码,您可以告诉服务器删除 url 的查询字符串,但只有当他出现 fb_action_ids 或您选择的任何参数时,才不会阻止 CodeIgniter 中查询字符串的正常运行

有了这个,您可以保留正确解析的漂亮 codeigniter url 和 facebook 链接!

重要提示:将其放置以避免文件覆盖功能隐藏 index.php

于 2012-10-03T14:20:04.443 回答
0

我不会推荐这种方法。只需在最终参数后添加一个斜杠,它就可以正常工作。它将忽略所有这些 facebook 额外内容

于 2013-02-01T11:53:52.183 回答