如何在localhost上设置带有和不带www前缀的子域/域

时间:2012-11-17 20:46:09

标签: apache2 vhosts hosts

我经历了很多问题,但非正在给我正确答案。

我在apache vhost中有以下配置:

<VirtualHost *:80>
    DocumentRoot "D:/Web Server/xampp/htdocs/testsite/frontend/www"
    ServerName mydomain.com
    ServerAlias www.mydomain.com
</VirtualHost>


<VirtualHost *:80>
    DocumentRoot "D:/Web Server/xampp/htdocs/testsite/backend/www"
    ServerName admin.mydomain.com
    ServerAlias www.admin.mydomain.com
</VirtualHost>

AND hosts文件:

127.0.0.1               testsite.com
127.0.0.1               admin.testsite.com

我需要的是:

www.testsite.com和testsite.com应指向相同的事物

相同

www.admin.testsite.com和admin.testsite.com

此配置有什么问题? 我是否需要为每个记录添加单独的记录,一个用www而另一个没有www?

请帮我解决这个问题

提前致谢

2 个答案:

答案 0 :(得分:3)

您需要添加www。您的域名版本等等。

127.0.0.1               testsite.com www.testsite.com
127.0.0.1               admin.testsite.com www.admin.testsite.com

答案 1 :(得分:1)

使用CNAME可让您更轻松地管理DNS数据。 CNAME记录指向A记录。因此,如果您更改A记录的IP地址,则指向该记录的所有CNAME记录将自动跟随A记录的新IP。替代解决方案是拥有多个A记录,但是您将有多个位置来更改IP地址,这会增加出错的可能性。

CNAME记录最常用的用途是使用标准www.domain.com和domain.com(不带www)访问Web服务器。这通常是通过为指向短名称的www名称添加CNAME记录[为短名称创建A记录(无www)]来完成的。 例如:

您的网站名称为mywebsite.nl。此域名连接到A记录,该记录将域名转换为适当的IP地址f.i. 11.22.33.444

您还有几个子域名,例如www.mywebsite.nl,ftp.mywebsite.nl,mail.mywebsite.nl等,您希望此子域名指向您的主域名mywebsite.nl。不是为每个子域创建A记录并将其绑定到域的IP地址,而是创建别名,即CNAME记录。请参阅下表,如果您的IP地址发生变化,您只需编辑1条A记录,所有子域名都会自动跟踪,因为de CNAMES指向带有A记录的主域名。

(Sub)domain
Type
Target
mywebsite.nl

A
11.22.33.444
www.mywebsite.nl

CNAME
mywebsite.nl
ftp.mywebsite.nl

CNAME
mywebsite.nl
mail.mywebsite.nl

CNAME
mywebsite.nl