我的网站已启动并正在运行且已获得另一个域,需要将任何访问重定向到exampleA.com
或其任何子域,到的页面我可以将请求的页面的子域检查到动态网站列表,如果匹配将其发送到exampleB.com
上的子域,如果不是,则将其发送到exampleB.com
的主站点。 exampleA.com
上没有任何网站只是主域的缩短版本。主要网站是wordpress网站。
我有什么。
我有exampleA.com
和exampleB.com
,exampleB.com
有子域名。
我需要什么。
将*.exampleA.com
重定向到exampleB.com/somePage/?from=*
到达exampleB.com/somePage/?from=*
后,我可以查看$_GET
信息。但我不确定如何将任意子域设置为$_GET
答案 0 :(得分:1)
当您将域名与列表(可以从$_SERVER['HTTP_HOST']
获得)匹配时,您可以使用PHP的header('Location: http://example.com/')
动态重定向用户。
答案 1 :(得分:1)
你需要一些东西:
a)exampleA.com的DNS设置必须配置为允许通配符子域:
*.exampleA.com. 3600 IN A x.x.x.x
b)exampleA.com的Web服务器配置必须允许通配符主机匹配
<VirtualHost ...>
ServerName exampleA.com
ServerAlias *.exampleA.com
</VirtualHost
c)exampleA.com的默认文档是一个简单的PHP脚本,它提取正在使用的主机名,并使用提取的主机名向exampleB发出重定向。
<?php
$requested_host = $_SERVER['HTTP_HOST'];
$parts = explode('.', $requested_host);
array_pop($parts); // com
array_pop($parts); // exampleA
$requested_subhost = implode('.', $parts);
header("Location: http://exampleB.com/?from=$requested_subhost");