【问题标题】:Double/triple domain redirection - Apache/IIS/Apache双/三域重定向 - Apache/IIS/Apache
【发布时间】:2015-09-06 13:03:19
【问题描述】:

我在为我的客户处理 3 个域的双域重定向时遇到问题。 链中的第一个域:domain1.com 2ns 链中域:domain2.com 链中的第三个域:domain3.com

情况是这样的: - 对于 domain1.com,我没有 DNS 或任何控制面板访问权限或 FTP 访问权限,并且该域已将重定向设置为 domain2.com。我最好的猜测是托管公司从 vhost 配置文件设置重定向。正如我从标题答案中看到的那样,安装了 Apache。 - domain2.com 由我/客户控制,带有 Wordpress 网站。服务器是 IIS/7.5(共享主机) - domain3.com 是目标站点,当访问者尝试在浏览器中访问 domain1.com 时,它应该是流量的终点。也由我/客户控制。服务器是 Apache/2.4.7(共享)

问:我可以将 domain2.com 的 DNS 指向 domain3.com 服务器的 IP,但是我会丢失 domain2.com WordPress 网站。并且所有流量都被重定向到 domain3.com

如何实现以 http://domain1.com 发起的流量被重定向到 domain3.com 但以 http://domain2.com 发起的流量留在 domain2.com WP 站点.

【问题讨论】:

    标签: wordpress apache .htaccess mod-rewrite redirect


    【解决方案1】:

    将此函数放在functions.php文件中,并在每次用户访问您的站点时调用它:

    <?php
        function check_visitor_domain(){
            $visitor_url = $_SERVER['HTTP_REFERER'];
            $url_details = parse_url($visitor_url);
            $domain = $url_details['host'];
            if($domain == 'domain1.com'){
                wp_redirect('http://domain3.com');
            }
        }
    ?>
    

    【讨论】:

    • 会试试这个,只有我想到了一些重写规则;)就像RewriteCond %{HTTP_REFERER} ^domain1\.com$ [nc] RewriteRule ^(.*)$ http://www.domain2.com [R=301,L] 但.htaccess 在IIS 中不起作用......所以会尝试制定IIS 重写规则。只有我不确定如果重定向是从源服务器上的 apache conf 文件创建的,HTTP_REFERER 的值是否为 domain1.com。
    • 很遗憾,无法确认它是否正常工作。似乎链中的第一个服务器不发送 HTTP_REFERER 或 IIS 服务器不允许读取该变量。无论如何,visitor_url 总是空的 :(
    猜你喜欢
    • 2020-07-26
    • 1970-01-01
    • 2011-05-28
    • 2012-02-18
    • 1970-01-01
    • 1970-01-01
    • 2012-05-13
    • 2012-04-29
    • 1970-01-01
    相关资源
    最近更新 更多