缺少“www”时网站无法运行

缺少“www”时网站无法运行

有谁知道这个问题的解决方案?

我检查了我的区域文件,有 2 条 A 记录

mydomainname.com.   14400   IN      A       ip.address.x.x

localhost       14400   IN      A       127.0.0.1

我的区域文件中当前的 CNAME 条目

mail    14400   IN      CNAME   mydomainname.com.
www     14400   IN      CNAME   mydomainname.com.
ftp     14400   IN      CNAME   mydomainname.com.

顺便说一下,我使用的是 CentOs 5.2。

谢谢您的帮助!!

答案1

这很可能是 Web 服务器配置问题。您可以通过 ping/dig/nslookup 域名(带和不带“www.”)来确认或否认此问题。如果 ping(例如)每个主机名都解析为相同的 IP 地址,则您的 DNS 工作正常。

对于 Apache,配置看起来/etc/httpd/conf/httpd.conf应该是这样的:

<VirtualHost *:80>
    ServerName yourdomain.com
    ServerAlias www.yourdomain.com
    ServerAdmin [email protected]
    DocumentRoot /home/sites/yourdomain.com/web
    ErrorLog /home/sites/yourdomain.com/logs/error_log
    TransferLog /home/sites/yourdomain.com/logs/access_log
</VirtualHost>

或者,如果您想使用 mod_rewrite 来强制执行“www”组件,请在结束</VirtualHost>标签前添加以下内容:

RewriteEngine on
RewriteCond %{HTTP_HOST}            !^www.yourdomain.com(:80)?$
RewriteRule ^/(.*)                  http://www.yourdomain.com/$1 [L,R]
RewriteOptions inherit

答案2

为 www 添加一个 A 记录以指向您的 IP 地址,或者为 www 添加一个 CNAME 以指向根目录(对于大型组织,每种方法都有自己的一套优点/缺点,但每种方法都会让您的 www 消失)。

答案3

检查您的 Web 服务器配置,确保它接受与 domain.com 和 www.domain.com 的连接。在 Apache 中,这将是 ServerAlias 行。

相关内容