我正在准备我在亚马逊AWS的ubuntu服务器来主持一个新的网站。它使用Apache2。我以前这样做没有任何问题,例如,欺骗一个朋友,我欺骗了google.com和www.google.com (编辑他的主机文件),所有的一切都很好,不管有没有‘www’。
现在,我已经购买了一个域名'domain.com‘与1和1,我已经配置了一个子域'www.domain.com’,我已经把它指向我的服务器。dns记录很好我查过了。我还编辑了启用站点的默认文件,并添加了以下条目:
<VirtualHost *:80 >
ServerName www.domain.com
DocumentRoot /var/www/domain
</VirtualHost>
<VirtualHost *:80 >
ServerName domain.com
DocumentRoot /var/www/domain
</VirtualHost>当我在浏览器中访问domain.com时,它工作得很好,但是当我访问www.domain.com时,我得到了domain.com,很明显,它是一个404。
我使用telnet,发现当您请求主机的根页面: www.domain.com时,服务器发送301。
我不知道为什么会发生这种情况,我对上面的配置做了很多修改,比如:
<VirtualHost *:80 >
ServerAlias www.domain.com
DocumentRoot /var/www/domain
</VirtualHost>
<VirtualHost *:80 >
ServerAlias domain.com
DocumentRoot /var/www/domain
</VirtualHost>。
<VirtualHost *:80 >
ServerName domain.com
DocumentRoot /var/www/domain
</VirtualHost>
<VirtualHost *:80 >
ServerName www.domain.com
DocumentRoot /var/www/domain
</VirtualHost>。
<VirtualHost *:80 >
ServerName domain.com
Server Alias www.domain.com
DocumentRoot /var/www/domain
</VirtualHost>但它一直在发生。
作为记录,这就是我用来欺骗的东西,它仍然很好用。
<VirtualHost *:80 >
ServerName google.com
DocumentRoot /var/www/google
</VirtualHost>
<VirtualHost *:80 >
ServerName www.google.com
DocumentRoot /var/www/google
</VirtualHost>我已经搜索了两天了,但我发现的都是相同的配置,没有解释为什么不能工作。
谢谢你的帮忙!
PS:这个目录或任何父目录中都没有.htaccess文件。
发布于 2012-06-06 19:45:38
以防有人进入这个问题。
我仍然不知道是什么问题,但在移动这些配置围绕文件,他们已经神奇地开始正常工作。
感谢每一个花时间阅读问题的人。
发布于 2012-06-10 11:05:02
更好的是
<VirtualHost *:80 >
ServerName domain.com
ServerAlias www.domain.com
DocumentRoot /var/www/domain
</VirtualHost>您不能在Server和Alias之间留出空间,所以我更改了以显示给您
希望它能成功!
https://stackoverflow.com/questions/10733851
复制相似问题