我有以下代码:
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 它效果不好。
提前感谢您提供的任何帮助。
答案 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;
}