Ссылки переходят по неправильному адресу

У меня мультиязычный сайт, когда меняю язык на kz, и нажимаю на переходящую ссылку новости, то переход делается по адресу mysite.com/ru/news, как сделать чтобы ссылки на языке kz переходили по адресу mysite.com/kz/news? Мультиязычность работает глобально, то есть некоторые ссылки работают правильно, когда нажимаю на ссылки хедера и футера, они переходят правильно, то есть по адресу mysite.kz/kz/press и.т.д Когда нажимаю на ссылку в новостях, то адрес вместо mysite.kz/kz/news показывает mysite.kz/news, как можно это исправить?

ссылки news формируются в файле model_press.php

function get_pages1(){ 

   $stmt1 = Model::$db->prepare("select * from menu where level='22' order by  name_ru");
        $stmt1->execute();
    while($con= $stmt1->fetch(PDO::FETCH_ASSOC)){
         $this->npages[]=$con['name_ru'];
         if($con['name_ru']==$this->raz_pages['year']){$this->raz_pages['year_raz']=$con['id'];}
         }
    }
    $history_raz[$links['link']]="'".$links['id']."'";
    $history_names[$links['link']]=$this->utils->translate_tex(array('name_ru'=>$links['name_ru'], 'name_kz'=>$links['name_kz'], 'name_en'=>$links['name_en']));

Здесь происходит переход например mysite.kz/press/page

if (intval(Route::$routes[2])>0 and Route::$routes[1]=='page'){ // press/page/2

 $this->raz_pages['page']=Route::$routes[2];
 }
     if (intval(Route::$routes[1])>0 and intval(Route::$routes[3])>0 and Route::$routes[2]=='page'){ // press/2019/page/2
     $this->raz_pages['page']=Route::$routes[3];
     }
     if (intval(Route::$routes[1])>0 and isset(Route::$routes[2])){// press/2910/111-newname
     $this->raz_pages['year']=Route::$routes[1]; 
     $newar=explode("-",Route::$routes[2]);
     if (isset($newar[0]) and intval($newar[0])>0){
     $this->raz_pages['id']=$newar[0];
     }
     }

Как лучше сделать, прописать правила в .htaccess, или же SESSION['lang']='kz'?


Ответы (0 шт):