Запуск Joomla и языковые перенаправления

У меня есть два вопроса о моем Joomla! Проект:

  • Я хочу иметь стандартную переадресацию для своего домена, поэтому, когда пользователь вводит domain.com, он будет перенаправлен на domain.com/my-joomla-menu-item. Это невозможно сделать со стандартным пунктом главного меню, потому что мои настройки не позволяют этого.
  • Мой второй вопрос: можно ли сделать перенаправление на стандартный язык с языком браузера пользователя, например, если он немецкий и вводит domain.com/menu-item, он перенаправляется на domain.com/de/menu-item , и это на каждой странице моего проекта.

Я был бы очень рад, если кто-то может мне помочь. Заранее большое спасибо и хорошего дня,

Магнус

Технические характеристики:

  1. Версия Joomla: Joomla! 3.8.10 Стабильный
  2. Версия PHP: 7.0.30-0+deb9u1

person M.Singer    schedule 31.07.2018    source источник


Ответы (1)


Хорошо, я нашел решение сам. Я размещаю код ниже, чтобы, если кто-то ищет что-то подобное, он мог взглянуть на него.

Для начальной переадресации:

<?php
    $currentLink = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
    if ($currentLink == "https://example.com") {
        header("Location: https://example.com/cool-submenu");
    }
    if ($currentLink == "https://example.com/") {
        header("Location: https://example.com/cool-submenu");
    }
?>

Для языковой переадресации:

<?php
    $url = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
    $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
    $path = parse_url($url, PHP_URL_PATH);
    $pathFragments = explode('/', $path);
    $end = end($pathFragments);
    if ($lang == "de") {
        header("Location: https://example.com/de/{$end}");
    }
?>

Я надеюсь, что это поможет, если кому-то это нужно.

Приветствую, Магнус

person M.Singer    schedule 02.08.2018