Перезапись URL-адреса PHP-маршрутизатора: как мне правильно добавить язык - PullRequest
0 голосов
/ 26 сентября 2019

Я пытаюсь настроить только что купленный скрипт, я смотрю, как правильно добавить язык в 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...