所以,我有我的.htaccess,我的控制器,一切都很顺利。我添加了本地化,所以现在我有葡萄牙语(默认),英语和意大利语
我在appplication / languages目录中使用_lang文件,我正在使用session-> userdata('lang'),一切正常。
在顶部菜单之后,我的控制器以葡萄牙语单词命名。我在寻找的是:
重写我的网址,更改控制器的名称,具体取决于session-> userdata('lang')。
这甚至可能吗?怎么样?
谢谢
正如InFog建议的那样,我在路线文件中尝试:
if ($this->session->userdata('lang') == 'english') {
$route['novidades/([a-z]+)'] = 'news/$1';
}
但是当我打开应用程序时,我只是得到一个空白的屏幕 我已经尝试过没有if子句了,当我去
时没有任何反应网址保持不变
答案 0 :(得分:1)
重写CI_Router以转换fetch_class()方法中的名称以更改控制器。覆盖fetch_method()以更改方法。
答案 1 :(得分:1)
您可以使用CodeIgniter路由解决此问题。您可以编辑文件'system / application / config / routes.php:
$route['news/([a-z]+)'] = 'noticias/$1';
这样,像'/ news / run-fools'这样的网址将被重新映射到'noticias / run-fools'。现在你只能有一个控制器=)
祝你好运