子域不适用于www

时间:2015-05-30 18:27:30

标签: apache .htaccess dns virtualhost

在尝试在虚拟机上配置新的子域时,我正在处理一个非常奇怪的问题。

问题很容易解释:

我的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>

第一个条目的一切都很好:

第二个:

  

您无权访问此服务器上的/。   此外,尝试使用ErrorDocument处理请求时遇到404 Not Found错误。

关于这里可能出现什么问题的任何想法,以及如何解决它?请随意按照上述链接检查问题。

感谢。

3 个答案:

答案 0 :(得分:1)

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

nmap -p 80 www.development.trabsi.com

返回:

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.com jorgevalhondo.com 运行相同的命令,您会看到他们指向 217.160.132.248 IP,与 development.trabsi.com 相同,但 www.development.trabsi.com 不一样( 217.160.186.97

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

不是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还支持通配符 - 如果您想匹配任何通配符。