使用 www 时指向域名的子域名

使用 www 时指向域名的子域名

我面临以下问题,我使用 CNAME 为我拥有的域创建了一个子域。

简单来说:

subdomain   CNAME   domain

以下规则也相关:

www    CNAME    domain
@      A        1.2.3.4

现在奇怪的是,当我指向 www.subdomain.domain 时,我得到了 404。当我指向 subdomain.domain 时,我得到了预期的页面,但当我指向 www.domain.com 时,我得到的是子域页面,而不是域页面。我使用的是 Apache,两个 VirtualHosts,没什么特别的……但我真的不知道为什么使用 www.domain.com 会指向子域!有什么想法吗?

谢谢!Alex

编辑:这是域的 apache 配置:

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName domain.com

    DocumentRoot /var/www/domain/
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /var/www/domain/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>

这是子域名的文件:

<VirtualHost *:80>

# Server name
ServerName subdomain.domain.com

# Document root
DocumentRoot /var/www/subdomain/


</VirtualHost>

也就是说,我也改变了 CNAME,只是意识到我输入的值不正确,所以现在是这样的:

Name        Type    Value
subdomain   CNAME   subdomain.domain.com

答案1

做这个

CNAME“www”到“domain.com”,domain.com 到 1.2.3.4

CNAME“www”到“subdomain.domain.com”,subdomain.domain.com 到 1.2.3.4

# Vhost file #1
ServerName domain.com
domain.com DocumentRoot /var/www/domain/

# Vhost file #2
ServerName subdomain.domain.com
subdomain.domain.com DocumentRoot /var/www/subdomain/

CNAME 只不过是转发到另一个域名,因此 www.domain.com 将转到 domain.com。

您还可以创建一个 A 记录子域,它是一个指向 IP 地址的子域,如下所示:

A、A 记录“domain.com”到 1.2.3.4 A、A 记录“www.domain.com”到 1.2.3.4

在这种情况下,你可以在第一个 Vhost 文件中执行此操作

ServerName domain.com
ServerAlias www.domain.com

因此人们可以同时使用“www.domain.com”和“domain.com”来获取你的 IP 地址

答案2

Name        Type    Value
subdomain   CNAME   subdomain.domain.com

这实际上指向的是subdomain.domain.com.domain.com因为你缺少了后面的点.com

但是,添加尾随的点将使其无效,因为您通过 CNAMEsubdomain自身创建了一个循环。

相关内容