浏览器应该使用这个DNSconfiguration显示哪个URL?

如果我在DNS中有以下logging:

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

当用户inputhttp://benmccormack.com时,用户期望在浏览器的地址栏中看到什么? 那么http://www.benmccormack.com怎么样? 我期待,我会在地址栏中看到http://www.benmccormack.com更改为http://benmccormack.com ,但也许我误解了一个CNAMElogging应该如何工作。

(注意:我刚刚在15分钟前更新了我的网站的dns,所以也许这些更改还没有传播。)

他们应该看到他们input的任何地址,除非你在web服务器上设置了某种redirect。

另外,它看起来好像你没有正确地更新你的区域文件,或者它还没有被传播,因为www.benmccormack.com将作为Alogging返回:

 $ 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 

您已经正确设置了DNS。 URL的“www”部分不应该是强制性的,因此“benmccormack.com”和“www.benmccormack.com”应该parsing到同一个Web服务器。 这是它的意图。

如果要将所有请求redirect到非www表单,请将其添加到Apache conf。 文件

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

一个CNAME是一个DNS的东西,一个URL是一个浏览器的东西。 除了使用DNS在URL主机名字段中查找名称之外,两者并不会真正影响对方。

如果你想这样做,下面是我在Apache 2configuration中从一个到另一个的redirect:

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