Изменение пути в URL для многоязычного сайта - PullRequest
0 голосов
/ 14 января 2020

Я иду к вам, чтобы узнать, возможно ли изменить путь в URL с помощью переменной PHP. Моя цель состояла бы в том, чтобы организовать мой веб-сайт с 2 папками (по одной для каждого языка), выбрать язык на произвольной странице в одной из двух папок и иметь возможность изменить язык, изменив URL.

Для например, я на http://truc.com/fr/test.php; Я меняю язык и получаю http://truc.com/en/test.php.

Я прошел тест, который работает, но я бы предпочел что-то более динамичное c, которое будет работать на всех страницах сайта: индекс fichier. php

<?php
session_start();
if (!isset($_SESSION['lang']))
    if (!isset($_SESSION['lang']))
    $_SESSION['lang'] = "fr";
else if (isset($_GET['lang']) && $_SESSION['lang'] != $_GET['lang'] && !empty($_GET['lang'])) 
    {
        if ($_GET['lang'] == "fr")
            $_SESSION['lang'] = "fr";
        else if ($_GET['lang'] == "en")
            $_SESSION['lang'] = "en";
    }
if($_SESSION['lang']==fr)
    {
        header('Location: http://localhost/site/languages/fr/index.php');
    }
else if($_SESSION['lang']==en)
    {
        header('Location: http://localhost/site/languages/en/index.php');
    }
?>

1 Ответ

0 голосов
/ 14 января 2020

Скорректировал ваш код и добавил новую переменную $ page_language, которая обрабатывает язык страницы и перенаправляет на указанную ссылку c для различных языков, и перед перенаправлением на страницу устанавливается язык сеанса, чтобы запомнить его на следующей странице. Удачи

if (isset($_SESSION['lang'])) {
  $page_language = $_SESSION['lang'];
} elseif (isset($_GET['lang']) && !empty($_GET['lang'])) {
  $page_language = $_GET['lang'] ;
} else {
  $page_language = "fr" ; //set default language if no session and url has language
}

if ($page_language == "fr") {
  $_SESSION['lang'] = "fr"; //set session language for later visits
  header('Location: http://localhost/site/languages/fr/index.php');
  exit;
} elseif ($page_language == "en") {
  $_SESSION['lang'] = "en"; //set session language for later visits
  header('Location: http://localhost/site/languages/fr/index.php');
  exit;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...