Я пытаюсь настроить только что купленный скрипт, я смотрю, как правильно добавить язык в URL с помощью php-маршрутизатора.
В настоящее время скрипт уже позволяет иметь контент, которыйадаптируется к языку, язык посетителя хранится в куки. Я пытался добавить язык в URL по-разному, но безуспешно.Я никогда раньше не использовал этот метод php для переписывания URL-адресов.
// remove ?var=val
$request_uri = strtok($_SERVER["REQUEST_URI"],'?');
// get install path
$install_dir = rtrim($_SERVER['SCRIPT_NAME'], 'index.php');
// query vars array
$route = preg_replace('~^' . $install_dir . '~', '', $request_uri);
$route = rtrim($route, '/');
$route = explode('/', $route);
// sanitize route
foreach($route as $k => $v) {
$route[$k] = htmlspecialchars($v);
}
// lang
if(isset($_COOKIE['user_language'])){
$lang = $_COOKIE['user_language'];
}else{
$lang = 'de';
}
/*--------------------------------------------------
Public
--------------------------------------------------*/
if($route[0] != 'user' && $route[0] != 'admin') {
$valid_routes = array(
'home',
'categories',
'claim',
'contact',
'coupon',
'coupons',
'favorites',
'listing',
'listings',
'taxis',
'msg',
'page',
'pages',
'post',
'posts',
'profile',
'results',
'reviews',
);
if($route[0] == '') {
$route[0] = 'home';
}
if(in_array($route[0], $valid_routes)) {
// include core file
require_once(__DIR__ . '/' . $route[0] . '.php');
// include child template if exists
if(is_file(__DIR__ . '/templates/tpl-' . $route[0] . '-child.php')) {
require_once(__DIR__ . '/templates/tpl-' . $route[0] . '-child.php');
}
// else include original template file
else {
require_once(__DIR__ . '/templates/tpl-' . $route[0] . '.php');
}
}
else {
http_response_code(404);
die('404 Not Found');
}
}
По идее, я хотел бы иметь URL-адреса на языке пользователя.Скрипт использует систему шаблонов.Может быть, кто-то знает хороший способ добавить язык пользователя и просто адаптировать названия страниц.К сожалению, я не нашел решения моей онлайн-проблемы.
Заранее благодарю за помощь.
Louail