我面临以下问题,我已经使用 CNAME 为我拥有的域创建了一个子域。
简单地说:
subdomain CNAME domain
以下规则也是相关的:
www CNAME domain
@ A 1.2.3.4
现在奇怪的是,当我指向 www.subdomain.domain 时,我得到 404。当我指向 subdomain.domain 时,我得到了预期的页面,但是当我指向 www.domain.com 时,我得到了子域页面的域页面。我正在使用 Apache,两个 VirtualHost,没什么特别的……但我真的不知道为什么使用 www.domain.com 指向子域!有任何想法吗?
谢谢!亚历克斯
编辑:这是域的 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
做这个
CNAME "www" 到 "domain.com",domain.com 到 1.2.3.4
CNAME "www" 到 "subdomain.domain.com",subdomain.domain.com 到 1.2.3.4
CNAME 只不过是对另一个域的转发,因此 www.domain.com 将转到 domain.com。
您还可以创建一个 A Record 子域,它是一个指向 IP 地址的子域,如下所示:
A、A 记录“domain.com”到 1.2.3.4 A、A 记录“www.domain.com”到 1.2.3.4
在这种情况下,您可以在第一个 Vhost 文件中执行此操作
所以人们可以同时使用“www.domain.com”和“domain.com”来结束你的IP地址
这实际上是指向
subdomain.domain.com.domain.com
因为您在之后缺少尾随点.com
但是,添加尾随点会使其无效,因为您正在通过 CNAME
subdomain
对其自身创建循环。