![DNS 域名转发](https://linux22.com/image/522831/DNS%20%E5%9F%9F%E5%90%8D%E8%BD%AC%E5%8F%91.png)
如何设置域名以通过 DNS 或 apache 转发到另一个域名?
答案1
DNS 不知道什么是重定向,它只知道如何使用规范名称或 IP 将域分配给给定的 IP。
因此,第一步是在 DNS 中为您想要重定向到 Apache 服务器 IP 的域创建一个 A 名称:
假设您的 Apache 服务器 IP 是 10.0.0.1,那么在您想要重定向的域的 DNS 记录中,您需要有以下条目:
domain.com. IN A 10.0.0.1
www IN CNAME domain.com.
重新启动/重新加载您的 DNS 服务器以使更改生效。
如果您要重定向的域名托管在同一台服务器上,那么在 apache 服务器上的事情就会变得简单很多,您需要做的就是在 ServerAlias 示例中添加域名:
<VirtualHost *:80>
ServerName mymaindomain.com
ServerAlias myredirecteddomain.com myotherredirecteddomain.com
DocumentRoot /www/domain/public_html
</virtualhost>
如果目标域不在同一台服务器上,那么您可以执行以下操作:
<VirtualHost *:80>
ServerName myredirecteddomain.com
ServerAlias www.myredirecteddomain.com myotherredirecteddomain.com www.myotherredirecteddomain.com
Redirect permanent / http://www.redirecteverythinghere.com/
</virtualhost>
如果给定域已被重定向到您的主域,则另一个选择是使用 .htaccess:
RewriteEngine on
rewritecond %{http_host} ^long-name.com [nc]
rewriterule ^(.*)$ http://www.short-name.com/$1 [r=301,nc]
答案2
如果该站点将为您想要转发的域名提供请求,只需从转发的域名到目标域名创建 DNS CNAME 记录。
如果站点是基于名称的虚拟主机,您可能还需要将转发的域名作为 ServerAlias 添加到 VirtualHost 部分。
答案3
如果您想要转发域名,请设置 DNS A 记录以转发到服务器。您应该为该域名设置一个 MX 记录。它应该指向将处理您的邮件的服务器,尤其是[电子邮件保护]。
在 Apache 中按照选项大奖赛使用短域名进行重定向。以下重写规则集将转发来自短域名的请求到长域名。long-domain.com 不需要与短域名托管在同一台服务器上。使用适当的域。如果省略 RewriteCond 语句,则所有匹配的请求都将被重定向。
RewriteEngine 在 RewriteCond %{HTTP_HOST} short-domain.com$ [NC] RewriteRule ^(.*) http://long-domain.com1 美元 [左,右=301]
这些规则通常放在 VirtualHost 定义中。