【发布时间】:2014-07-09 17:40:18
【问题描述】:
我有一个不为我的 DNS 域提供名称别名的虚拟主机。我有 2 个不同的域。两者都应该被重定向到不同的目标(例如 /index.php , /abc/index2.php),但在同一个根服务器上。
如何在一台服务器上使用 PHP 或工具 (ubuntu) 来同时使用两个域?
谢谢。
【问题讨论】:
标签: php linux ubuntu dns subdomain
我有一个不为我的 DNS 域提供名称别名的虚拟主机。我有 2 个不同的域。两者都应该被重定向到不同的目标(例如 /index.php , /abc/index2.php),但在同一个根服务器上。
如何在一台服务器上使用 PHP 或工具 (ubuntu) 来同时使用两个域?
谢谢。
【问题讨论】:
标签: php linux ubuntu dns subdomain
您应该检查请求的主机标头HTTP_HOST,以了解该请求在哪个域上。
if (strpos($_SERVER["HTTP_HOST"], "domaina.com") !== false) {
header('Location: '.$urldomaina);
}
else if (strpos($_SERVER["HTTP_HOST"], "domainb.com") !== false)
{
header('Location: '.$urldomainb);
}
【讨论】:
如果您的网站空间中有您的第一个域 (domain.com),请将另一个域 (domain.org) 映射到同一个网站空间(这称为 Domain-Alias)。
现在您可以使用 .htaccess (mod_rewrite) 将每个域重定向到您需要的方向:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^domain\.com$
RewriteRule ^(.*)$ http://redirect.com/$1 [L,R=301]
RewriteCond %{HTTP_HOST} !^domain\.org$
RewriteRule ^(.*)$ http://redirect.org/$1 [L,R=301]
【讨论】: