【问题标题】:CodeIgniter: how to change URL name in a multilingual websiteCodeIgniter:如何在多语言网站中更改 URL 名称
【发布时间】:2015-07-02 10:47:06
【问题描述】:

我对使用 CodeIgniter 开发的网站的 URL 有疑问,该网站提供两种不同语言的内容:ende

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

我的问题:

如何更改以下网址

www.mysite.com/en/landscape

www.mysiste.com/de/landschaft

德语?

【问题讨论】:

  • 查看此link 以获得完整的解决方案
  • 他想重新路由控制器/方法名称,而不仅仅是语言段。
  • 是的,非常感谢。我能怎么办?重新路由控制器/方法名称...
  • 您的语言文件是否存储在数据库中?
  • 还要考虑:链接 en/landscape 和 de/landschaft 是由用户输入创建的(例如我们的 SO 网站问题),是由您自己的后端创建的,还是您只管理一些硬编码的页面?

标签: php codeigniter


【解决方案1】:

使用带有此类扩展的 codeigniter 语言库:URI Language Identifier。我也用这个控制器来切换语言

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');
    }
  }
}

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2013-01-17
    • 1970-01-01
    • 2014-02-01
    • 1970-01-01
    • 2018-04-24
    • 1970-01-01
    • 1970-01-01
    • 2012-05-02
    • 1970-01-01
    相关资源
    最近更新 更多