apache 虚拟主机 - 未找到子域名的服务器

apache 虚拟主机 - 未找到子域名的服务器

我想使用虚拟主机设置子域。我已按如下方式更改了 httpd.conf 文件,但尝试访问 URL 时出现“找不到服务器”错误。我运行的是 Centos 5.5。

NameVirtualHost *:80
#
# NOTE: NameVirtualHost cannot be used without a port specifier
# (e.g. :80) if mod_ssl is being used, due to the nature of the
# SSL protocol.
#

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
#<VirtualHost *:80>
#    ServerAdmin [email protected]
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>

<VirtualHost *:80>
ServerName www.mydomain.com
DocumentRoot /var/www/html/
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "/var/www/vhosts/test_mydomain_com/"
    ServerName test.mydomain.com
    ErrorLog logs/test_mydomain_com-error_log
    CustomLog logs/test_mydomain_com-access_log common
</VirtualHost>

我有:

  • 通过“service httpd configtest”检查语法是否有效
  • 重新启动Apache
  • 检查上面描述的 DocumentRoot 确实到达了子域中含有 index.php 文件的文件夹。

令我惊讶的是,尽管它找不到子域名,但它并没有被路由到 www.mydomain.com 区域,因为我认为我已经使用第一个虚拟主机语句对它进行了设置。

我正在尝试通过以下方式访问子域:

http://test.mydomain.com

我是否需要对 DNS 设置进行任何操作(并因此了解相关内容)才能实现我在此想要的效果?这可能是哪里出了问题吗?

答案1

您需要在 DNS 服务器中添加 A 记录或 CNAME 记录才能使其正常工作。听起来您没有。您可以通过发帖来确认host test.mydomain.com

如果你回来的话:

Host test.mydomain.com not found: 3(NXDOMAIN)

那么这就是你的问题。

为 test.mydomain.com 添加 A 记录(主机名 -> IP)或 CNAME(主机名 -> 主机名),然后您就可以开始工作了。

答案2

如果您收到“未找到服务器”错误,那么这很可能是 DNS 问题,而不是 apache 问题。

您是否为新的子域名创建了 DNS 记录?

相关内容