Php CodeIgniter:如何在多语言网站中更改URL名称

Php CodeIgniter:如何在多语言网站中更改URL名称,php,codeigniter,Php,Codeigniter,我有一个关于使用CodeIgniter开发的网站URL的问题,该网站提供两种不同语言的内容:en和de 我想为这两种语言创建SEO友好的URL 我的问题: 如何更改以下URL www.mysite.com/en/landscape 在 www.myiste.com/de/landschaft 对于德语?使用具有以下类扩展的codeigniter语言库:。我也使用这个控制器来切换语言 class LangSwitch extends CI_Controller { public function

我有一个关于使用CodeIgniter开发的网站URL的问题,该网站提供两种不同语言的内容:ende

我想为这两种语言创建SEO友好的URL

我的问题:

如何更改以下URL

www.mysite.com/en/landscape

www.myiste.com/de/landschaft


对于德语?

使用具有以下类扩展的codeigniter语言库:。我也使用这个控制器来切换语言

class LangSwitch extends CI_Controller {

public function __construct() {
    parent::__construct();      
}
public function switchLanguage($language = "") {

    $this->load->library('user_agent');
    $referrer = $this->agent->referrer();

    $l = substr($referrer, strlen(base_url()));

    if(isset($referrer)){
        preg_match('/\/(.+)$/i',$l,$match);
        $redirect_url;
        if (empty($match)) {
            redirect(base_url().$language ,'refresh');
        }
        else{
            $redirect_url = base_url().$language.$match[1];
        }
        redirect($redirect,'refresh');
    }else{
        redirect(base_url(),'refresh');
    }
  }
}

希望有帮助。

检查此项以获得完整的解决方案。他希望重新路由控制器/方法名称,而不仅仅是语言段。当然可以。我能怎么做?重新路由控制器/方法名称…您的语言文件是否存储在数据库中?还要考虑:链接en/landscape和de/landschaft是由用户输入创建的(如我们的SO站点问题),是由您自己的后端创建的,还是您仅管理几个硬编码页面?