如果URL重定向则显示消息

时间:2016-10-31 12:13:25

标签: php jquery

我有一个安装了WordPress的主域名(example.com)。一个简单的域名从 example.com 重定向到 example-usa.com 已经从托管控制面板中实现。

我的客户希望向来自example-usa.com的任何人展示一条简单的欢迎信息。

为实现这一目标,我选择了以下PHP:

<?php
    $host = $_SERVER['HTTP_HOST'];
    if ($host == "example-usa.com" or $host == "www.example-usa.com") {
        echo '<header><h1>USA Message</h1>';
    }
    else {
        echo '<header><h1>Normal welcome message</h1>';
    }
?>

不幸的是,当用户到达该站点时,usa域将从浏览器URL栏中消失,并被主域替换。这意味着我的PHP并没有尽其所能。

我还能采用另一种方法吗?我宁愿不使用插件或位置服务。

值得注意的是,客户域名注册商(123-reg)有两个重定向选项。我目前选择了301选项,因为这是一个永久性的重定向。但是,我可以选择302方向来引入iFrame。

4 个答案:

答案 0 :(得分:0)

我不认为您可以通过主机中的重定向来执行此操作。您最好的办法是在执行重定向之前处理代码中的重定向并设置cookie。然后在目的地,您可以在显示消息之前检查该cookie。

答案 1 :(得分:0)

试试这个:

    <?php    

    $host = parse_url(get_home_url(), PHP_URL_HOST); // will return 'example-usa.com'

    if ($host == "example-usa.com" or $host == "www.example-usa.com") {
        echo '<header><h1>USA Message</h1>';
    }
    else {
        echo '<header><h1>Normal welcome message</h1>';
    }
    exit;
?>

答案 2 :(得分:0)

HTTP_HOST包含当前域,您可以使用HTTP_REFERER来检查以前的域。重定向后,此页面将与您的“美国”域名匹配。

答案 3 :(得分:0)

试试这个。由于您要重定向用户,因此您需要查看引荐来源网址^

    if (strpos($_SERVER["HTTP_REFERER"], 'example-usa.com') !== false) {
        echo 'Welcome to example.com';
    }