多域名重定向到单一托管横幅问题


Multi domain redirection to single hosting banner issue

我有5个域名重定向到一个主机。我在网站上使用Joomla有横幅的问题。我想,如果有人从domain1重定向的托管网站显示横幅domain1, domain2, banner2等。

在Joomla或Core PHP中最好的方法是什么?

你需要在PHP的$_SERVER超全局变量中使用'HTTP_REFERER'

基本上,HTTP_REFERER包含指向您的主机的站点的URI。它不能保证实际包含一个值,但它是不涉及URL中发出的GET变量的最佳选择。注意:在你可以使用它之前,你必须解析出域名。

手册是这么说的

将用户代理引用到的页的地址(如果有)当前页面。这是由用户代理设置的。并不是所有的用户代理都可以设置它,有些提供将HTTP_REFERER修改为特性。简而言之,它不能真正被信任。

你的代码可能看起来像这样…

function GetBannerForDomain() {
    $url_array = parse_url($_SERVER['HTTP_REFERER']);
    switch (str_replace("www.", "", $url_array['host')) {
        case 'example.com':
            $img_src = 'path/to/banner.png';
        default:
            $img_src = 'path/to/default/banner.png';
    }
    return $img_src;
}

如果你对重定向域有任何控制,你可以在重定向中使用GET变量,像这样…

http://www.yoursite.com/referer/site1.com
function getBannerSrc() {
    switch ($_SERVER['HTTP_REFERER']) {
        case 'example.com':
            $img_src = 'path/to/banner.png';
        default:
            $img_src = 'path/to/default/banner.png';
    }
    return $img_src;
}

…然后在视图脚本

<img src="<?php echo getBannerSrc(); ?>">

也许是这样的?