使用A记录+ CNAME记录的域路由+ .htaccess中的301重定向

时间:2014-03-20 20:52:48

标签: .htaccess mod-rewrite dns cname a-records

假设我有一个人们想要同时读作根域和'www'的域名:

example.com
www.example.com

我可以做的就是制作这些A记录

@ A 127.0.0.1
www A 127.0.0.1

现在让我们说,我想将所有'www'流量转发到根目录。我会使用mod_rewrite和.htaccess将301重定向从根级域转到'www'变体 - 就像这样:

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

最后,假设我想将所有根流量转发到'www'。我会使用mod_rewrite和.htaccess将301重定向从'www'放到根级域 - 就像这样:

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

我真正的问题是:我应该在某处使用CNAME吗?从技术上讲,我可以将'www'推送到带有CNAME的根(我想),就像这样:

www CNAME example.com

这是有效/可取的吗?这里最好的做法是什么?记录+ 301或A记录+ CNAME?

1 个答案:

答案 0 :(得分:0)

你可以在DNS中做任何一种方式,效果是一样的。 (当然,在你的例子中使用127.0.0.1有点荒谬。)