0

问:我有一个多语言网站。在通过检查基本 url 自动切换语言的地方,我们假设 www.myapp.fr(法语)和 www.myapp.es(西班牙语)。我使用辅助函数来相应地执行 $this->config->set_item('base_url', $domain) 。我的问题是,我应该在哪里放置辅助功能,最好的范围,这样用户就不会被困在使用错误的网址 www.domain.es 看到法国网站?MY_Controller 构造函数?

(*) 通常每个人都有一个多语言站点的域名。就我而言,我有两个指向它的域名的主机。根据用户请求uri,我做切换!我正在重写一个这样做的网站,并且运行良好。但我记得有一些问题,因为 base_url 没有正确切换,并且用户在域 ES 中使用语言 FR 导航(示例)。那个时候,我在每个控制器上都没有助手,没有 DRY 的好习惯,所以我想,这就是问题所在。但是 90% 的效果很好!

任何提示表示赞赏;D

非常感谢

4

1 回答 1

1

不要自己设置 base_url 。

从 CI 2.0 开始,您不需要设置 base_url。

您可以使用此代码设置 base_url

$config['base_url'] = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']=='on') ? 'https://' : 'http://' . $_SERVER['HTTP_HOST'];

现在,您已经摆脱了 base_url。您可以使用挂钩来根据域名确定要使用的语言。

于 2011-05-18T10:48:35.493 回答