我们在 DNS 服务器上使用 Bind9。我们的 /var/named/slaves 目录中的所有区域文件都采用以下格式:
mywebsite.com.hosts
mysecondwebsite.com.hosts
每个 .hosts 文件包含以下信息:
$ORIGIN .
$TTL 3600 ; 1 hour
mywebsite.com IN SOA dns1.xxx.xxx. postmaster.xxx.xxx. (
2012042601 ; serial
3600 ; refresh (1 hour)
600 ; retry (10 minutes)
86400 ; expire (1 day)
3600 ; minimum (1 hour)
)
NS dns1.xxx.xxx.
NS dns2.xxx.xxx.
A 168.xxx.xxx.xxx
$ORIGIN mywebsite.com.
www A 168.xxx.xxx.xxx
我们的named.conf文件包含以下信息:
options { directory "/etc"; pid-file "/var/run/named/named.pid"; recursion no; notify yes; listen-on { 10.xx.xx.xx; 127.0.0.1; }; allow-transfer { 10.xx.xx.xx; }; version "[bitch-got-denied]"; };
zone "." { type hint; file "/etc/db.cache"; };
zone "mywebsite.com" { type master; file "/var/named/slaves/mywebsite.com.hosts"; allow-update { none; }; }; zone "mysecondwebsite.com" { type master; file "/var/named/slaves/mysecondwebsite.com.hosts"; allow-update { none; };
假设我的 Mywebsite.com 和 Mysecondwebsite.com .hosts 文件都指向同一个 IP。如果有人访问 Mywebsite.com 或 Mysecondwebsite.com,它会解析到同一个服务器,唯一明显的区别是 URL 栏中的名称(取决于客户端使用哪个 FQDN 导航到我们的域。)
我的问题是,我需要帮助的是,当有人访问 Mysecondwebsite.com 时,我希望 URL 栏中的重定向到 Mywebsite.com。我知道我可以使用托管公司通过他们的在线界面进行重定向(标准或隐身),但我想看看是否可以在我们的 DNS 服务器上完成此操作。我只想要一个标准重定向。也许我需要弄乱 Web 服务器本身... 任何有关实现此目的的最佳方法的反馈都将不胜感激!
答案1
不可以 - HTTP 重定向(更改地址栏的那种)永远不能仅在 DNS 中完成;提供此类服务的 DNS 提供商只需将名称指向他们自己的 HTTP 服务器并在那里配置重定向。
您需要在您的网络服务器上进行此项配置 - 让我们知道它是什么类型的服务器,我们可以帮助您配置重定向。
编辑:要配置 Apache 进行重定向:
- 添加新的站点文件:
/etc/apache2/sites-available/redirect
给该文件以下内容:
<VirtualHost *:80> ServerName mysecondwebsite.com Redirect permanent / http://mywebsite.com/ </VirtualHost>
启用站点:
a2ensite redirect
- 通过正常重启 Apache 服务来激活新配置:
service apache2 reload