【问题标题】:Sub-domain doesn't work with www子域不适用于 www
【发布时间】:2015-08-13 12:22:41
【问题描述】:

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

这个问题很容易解释:

我的 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 错误。

关于这里可能出现什么问题以及如何解决它的任何想法?随时按照提到的链接实时检查问题。

谢谢。

【问题讨论】:

    标签: apache .htaccess dns virtualhost


    【解决方案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.comjorgevalhondo.com 运行相同的命令,您会看到它们指向 217.160.132.248 IP,与 development.trabsi.com 的 IP 相同,但 www.development.trabsi.com 的 IP 不同(217.160.186.97 )

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

    【讨论】:

    【解决方案2】:

    不是 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 还支持通配符 - 以防您想匹配任何内容。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • (Edit) 抱歉我忘记改了,问题来了测试后我改了。我做了一个新的编辑。还是谢谢
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-18
      • 1970-01-01
      • 2014-07-31
      • 1970-01-01
      • 1970-01-01
      • 2012-06-01
      • 1970-01-01
      相关资源
      最近更新 更多