Centos6 - Apache |子域不起作用

时间:2016-01-12 16:30:19

标签: apache dns centos subdomain

好的,所以我在CentOS 6(64位)Web服务器上遇到apache问题。

每当我加载http://myserver.com/sub时,它都可以正常工作并在/ var / www / html / sub中加载页面。

出于某种原因,在加载http://sub.myserver.com时,它会在/var/www/html而不是/var/www/html/sub中加载页面。

此外,我的DNS名称服务器在相同的vps上运行。以下是区域文件中的记录:

; Mapping

@               IN  A               127.0.0.1
www             IN  A               127.0.0.1

我的设置是否有问题,或者我是否需要编辑某些配置?

感谢。

1 个答案:

答案 0 :(得分:0)

在我的服务器上,我设置了一个虚拟主机以使子域工作。我相信如果你没有为它设置虚拟主机,apache不知道在哪里发送subdomain.domain.tld请求,所以它只是将它发送到与primarydomainl.tld请求相同的地方。

您必须在apache配置文件中设置虚拟主机。有几种方法可以做到,但我个人决定将它放入httpd.conf文件中。

如果您使用的是centos,那么它将位于/etc/httpd/conf/httpd.conf中 在ubuntu上它位于/ etc / apache2 /某个地方,虽然我不完全确定整个路径并且没有一个ubuntu机器旋转atm来检查。

以下是我服务器上当前正常运行的示例:

<VirtualHost *:80>
        ServerName primarydomain.tld
        ServerAlias www.primarydomain.tld
        DocumentRoot /var/www/html
        <Directory "/var/www/html">
                allow from all
                Options +Indexes
        </Directory>
</VirtualHost>    

<VirtualHost *:80>
        ServerName      subdomain.primarydomain.tld
        DocumentRoot    /var/www/subdomain
        <Directory "/var/www/subdomain">
                allow from all
                Options +Indexes
        </Directory>
</VirtualHost>

您还需要确保设置A和CNAME记录:

subdomain.primarydomain.tld ipaddress CNAME * .subdomain.primarydomain.tld subdomain.primarydomain.tld