使用此 DNS 配置,浏览器应该显示什么 URL?

使用此 DNS 配置,浏览器应该显示什么 URL?

如果我的 DNS 中有以下记录:

hostname               Record Type         address
benmccormack.com       A                   216.10.244.61
www.benmccormack.com   CNAME               benmccormack.com

当用户输入时,他们应该期望在浏览器的地址栏中看到什么http://benmccormack.com? 怎么样http://www.benmccormack.com?我原本以为会看到http://www.benmccormack.com改成http://benmccormack.com在地址栏中,但也许我误解了 CNAME 记录应该如何工作。

(注意:我大约 15 分钟前刚刚更新了我的网站的 DNS,因此更改可能尚未传播。)

答案1

除非您在网络服务器上设置了某种重定向,否则他们应该可以看到他们输入的任何地址。

此外,看起来您没有正确更新区域文件,或者它尚未传播,因为 www.benmccormack.com 作为 A 记录返回:

$ dig www.benmccormack.com

; <<>> DiG 9.6.0-APPLE-P2 <<>> www.benmccormack.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 809
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.benmccormack.com.      IN  A

;; ANSWER SECTION:
www.benmccormack.com.   3600    IN  A   216.10.244.61

答案2

CNAME 是 DNS 的东西,URL 是浏览器的东西。除了使用 DNS 在 URL 主机名字段中查找名称外,两者实际上不会相互影响。

如果您想这样做,以下是我在 Apache 2 配置上从一个重定向到另一个所做的事情:

<VirtualHost *:80>
  ServerName www.waywardgypsy.com
  RedirectMatch permanent /(.*) http://waywardgypsy.com/$1
</VirtualHost>

答案3

您已正确设置 DNS。URL 中的“www”部分不应是必需的,因此“benmccormack.com”和“www.benmccormack.com”应解析为同一 Web 服务器。这才是预期结果。

如果要将所有请求重定向到非 www 格式,请将其添加到 Apache conf. 文件中

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 

相关内容