vagrant/puppet: 虚拟主机 "website not available"

vagrant/puppet: vhost "website not available"

所以我在几台 mac 和 PC 上使用 vagrant 进行本地开发。

puphpet/config.yaml 中的虚拟主机如下所示

        piYyhCPLFha4:
            servername: iamsumit.dev
            serveraliases:
                - www.iamsumit.dev
            docroot: /var/www/iamsumit/dist
            port: '80'
            setenv:
                - 'APP_ENV dev'
            override:
                - All
            options:
                - Indexes
                - FollowSymLinks
                - MultiViews
            engine: php
            custom_fragment: ''
            ssl_cert: ''
            ssl_key: ''
            ssl_chain: ''
            ssl_certs_dir: ''

        piYyhCPLFha5:
            servername: relocation.dev
            serveraliases:
                - www.relocation.dev
            docroot: /var/www/moovel/relocation-app/dist
            port: '80'
            setenv:
                - 'APP_ENV dev'
            override:
                - All
            options:
                - Indexes
                - FollowSymLinks
                - MultiViews
            engine: php
            custom_fragment: ''
            ssl_cert: ''
            ssl_key: ''
            ssl_chain: ''
            ssl_certs_dir: ''

        piYyhCPLFha7:
            servername: einzl.dev
            serveraliases:
                - www.einzl.dev
            docroot: /var/www/einzl/dist
            port: '80'
            setenv:
                - 'APP_ENV dev'
            override:
                - All
            options:
                - Indexes
                - FollowSymLinks
                - MultiViews
            engine: php
            custom_fragment: ''
            ssl_cert: ''
            ssl_key: ''
            ssl_chain: ''
            ssl_certs_dir: ''

现在我的问题是,我无法让中间虚拟主机 relocation.dev 在特定 mac 上工作(在所有其他 mac 主机上工作完美)。

其他虚拟主机工作正常。只是那个虚拟主机不起作用。浏览器会加载很长时间,然后显示 "website unavailable" 消息。

这是我的主机文件:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost
192.168.56.102 einzl.dev
192.168.56.102 boss.dev
192.168.56.102 iamsumit.dev
192.168.56.102 relocation.dev
192.168.56.102 nephalem.dev
192.168.56.102 polygoncreator.dev
192.168.56.102 car2clean.dev
192.168.56.102 elearning.dev

docroot 是正确的。我无法想象是什么导致 puphpet/vagrant 无法识别这个虚拟主机。 什么可能导致这种行为?

经过大量研究,我发现 .htaccess 文件中的这两行(必要的重定向)导致页面不再加载:

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/ [R=301,L]

为什么?因为子域 www.relocation.dev 不在我的主机文件中。 主机文件行应如下所示:

192.168.56.102 relocation.dev www.relocation.dev

现在一切正常。

感谢@v2p 抽出时间。