目前网址多语言

时间:2015-02-17 18:44:02

标签: php url

我有以下代码:

public function UrlLang() {
if ( (!isset($_REQUEST['lang'])) || (isset($_REQUEST['lang']) && ($_REQUEST['lang'] == 'es' || $_REQUEST['lang'] == 'ES')) ) {
        $Url = SITE_URL .'en/' . array_pop(explode('/', $_SERVER['REQUEST_URI']));
    } else {
        $Url = SITE_URL .'' . array_pop(explode('/', $_SERVER['REQUEST_URI']));
    }
        return $Url;
    }

代码返回当前的url me,问题是如果我的url不在root url中对我不起作用。

示例:

http:// localhost / My_Cms_Db / 效果很好。

http://localhost/My_Cms_Db/nosotros.php 效果很好。

http://localhost/My_Cms_Db/nosotros/index.php 它效果不好。

提前感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:0)

用以下代码替换你的UrlLang()函数并尝试:

public function UrlLang() {

    $Url = str_replace(SITE_URL.'en/',SITE_URL,$_SERVER['REQUEST_URI']);
    if(isset($_REQUEST['lang']))
    {
        $selectedLang = strtolower($_REQUEST['lang']);
        if($selectedLang=='es')
        {
            $Url = str_replace(SITE_URL,SITE_URL.'en/',$_SERVER['REQUEST_URI']);
        }
    }

    return $Url;

}