【发布时间】:2012-05-30 19:44:08
【问题描述】:
我正在准备我在 Amazon AWS 中的 ubuntu 服务器来托管一个新网站。它使用 Apache2。我以前这样做过,没有任何问题,例如,欺骗我欺骗 google.com 和 www.google.com 的朋友(编辑他的主机文件),无论有没有“www”,一切都很好。
现在我用 1&1 购买了一个域名 'domain.com',我已经配置了一个子域 '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/domain/ 并且显然是 404。
我使用telnet,发现当你请求host: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 文件。
【问题讨论】:
标签: redirect web apache2 subdomain virtualhost