Ссылки переходят по неправильному адресу
У меня мультиязычный сайт, когда меняю язык на 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'?