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 抽出时间。
所以我在几台 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 抽出时间。