繁体   English   中英

Joomla开始和语言重定向

[英]Joomla Start and Language Redirections

我的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

好吧,我自己找到了解决方案。 我将代码发布在下面,因此,如果有人正在搜索类似的内容,他可以查看一下。

对于开始重定向:

<?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}");
    }
?>

我希望这对有人需要的人有所帮助。

马格努斯问候

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM