子域不适用于 www

Sub-domain doesn't work with www

我在尝试在虚拟机上配置新的子域时遇到了一个非常奇怪的问题。

问题简单解释:

我的 httpd-vhosts.conf 上有两个虚拟主机条目指向相同的路径。两者应该具有相同的行为,因为它们的配置相同,如下所示:


#
# FIRST ENTRY #######################
#
<VirtualHost www.jorgevalhondo.com:80>
    ServerAdmin you@localhost.com
    DocumentRoot /opt/lampp/htdocs/trabsi
    ServerName www.development.trabsi.com
    ServerAlias www.development.trabsi.com
    ErrorLog logs/jorgevalhondo-error_log
    CustomLog logs/jorgevalhondo-access_log common
</VirtualHost>


#
#SECOND ENTRY ####################
#
<VirtualHost www.development.trabsi.com:80 development.trabsi.com:80>
    ServerAdmin info@trabsi.com
    DocumentRoot /opt/lampp/htdocs/trabsi
    ServerName www.jorgevalhondo.com
    ErrorLog logs/trabsi-error_log
    CustomLog logs/trabsi-access_log common
</VirtualHost>

第一个条目一切正常:


与第二个:

但是

You don't have permission to access / on this server. Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

关于这里可能出现的问题以及如何解决的任何想法?请随时点击上述链接实时检查问题。

谢谢。

这是一个 DNS 问题,请查看详细信息:

nmap -p 80 www.development.trabsi.com

Returns:

Starting Nmap 6.40 ( http://nmap.org ) at 2015-06-01 04:58 JST
Nmap scan report for www.development.trabsi.com (217.160.186.97)
Host is up (0.28s latency).
rDNS record for 217.160.186.97: clienteservidor.es
PORT   STATE SERVICE
80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 0.85 seconds

那么,development.trabsi.com的相同命令应该指向同一个IP,但它不是:

nmap -p 80 development.trabsi.com

Starting Nmap 6.40 ( http://nmap.org ) at 2015-06-01 04:59 JST
Nmap scan report for development.trabsi.com (217.160.132.248)
Host is up (0.27s latency).
PORT   STATE SERVICE
80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 0.85 seconds

最后,如果您 运行 对 www.jorgevalhondo.comjorgevalhondo.com 使用相同的命令会看到它们指向 217.160.132.248 IP,这与 development.trabsi.com 的 IP 相同,但与 www.development.trabsi.com (217.160.186.97)

因此,这只是一个 DNS 问题,请与您的 DNS 提供商联系。

这些 VHost 具有不同的 IP 但具有相同的 ServerName。在这种情况下,匹配的 VHost 应该是第一个,但您正在通过另一个 IP 对其进行寻址。这会导致不匹配错误。您应该重命名第一个 VHost。

不是 DNS 问题,而是 vHost 配置:

第一个示例:

<VirtualHost *:80>

   ServerName jorgevalhondo.com
   ServerAlias www.jorgevalhondo.com
   # ServerAlias *.jorgevalhondo.com

   # custom config ...

</VirtualHost>

第二个示例:

<VirtualHost *:80>

   ServerName development.trabsi.com
   ServerAlias www.development.trabsi.com
   # ServerAlias *.development.trabsi.com

   # custom config ...

</VirtualHost>

ServerAlias 还支持通配符 - 如果您想匹配任何通配符。