Laravel 5.2 - Homestead 为每个域加载相同的站点

Laravel 5.2 - Homestead same site loading for every domain

无论出于何种原因,我都无法让多个站点与 Homestead 一起使用。每添加一个新站点,returns 当我在浏览器中访问它时都是同一个站点

我已经尝试了我在这里遇到的每一个 "solution" 堆栈以及 larvel.io。 None 解决了问题。任何帮助将不胜感激。

以下是我的 .yaml 文件和主机文件的内容。

本地目录结构:

 Root directory = WWW
 project1       = WWW/project1
 project2       = WWW/project2

Homestead.yaml:

 ---
 ip: "192.168.10.10"
 memory: 2048
 cpus: 1
 provider: virtualbox

 authorize: ~/.ssh/id_rsa.pub

 keys:
     - ~/.ssh/id_rsa

 folders:
     - map: ~/WWW
       to: /home/vagrant/Code

 sites:
     - map: /project1.app
       to: /home/vagrant/Code/project1/public
     - map: /project2.dev
       to: /home/vagrant/Code/project2/public

 databases:
     - project1_db
     - project2_db

 variables:
     - key: 'APP_ENV'
       value: 'local'
     - key: 'APP_DEBUG'
       value: 'true'

 # blackfire:
 #     - id: foo
 #       token: bar
 #       client-id: foo
 #       client-token: bar

 # ports:
 #     - send: 93000
 #       to: 9300
 #     - send: 7777
 #       to: 777
 #       protocol: ump

/etc/hosts 文件:

 ##
 # 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.10.10 project1.app
 192.168.10.10 project2.dev

我试过以下方法:

  1. 流浪者规定
  2. vagrant reload --provision
  3. 破坏箱子和 vagrant up
  4. vagrant global-status,后跟vagrant provision vm#
  5. 还尝试映射文件夹和站点

例如:

 folders:
     - map: ~/WWW/project1
       to: /home/vagrant/Code/project1

     - map: ~/WWW/project2
       to: /home/vagrant/Code/project2

 sites:
      - map: /project1.app
        to: /home/vagrant/Code/project1/public
      - map: /project2.dev
        to: /home/vagrant/Code/project2/public

知道了。

导致问题的域前的斜杠。

更改了这个:

sites:
    - map: /project1.app
      to: /home/vagrant/Code/project1/public
    - map: /project2.dev
      to: /home/vagrant/Code/project2/public

为此:

sites:
    - map: project1.app
      to: /home/vagrant/Code/project1/public
    - map: project2.dev
      to: /home/vagrant/Code/project2/public

首先,一个提示:使用 nfs,因为 windows 文件夹共享非常非常慢。要在 Windows 上添加对此功能的支持,您应该安装 vagrant-winnfsd

vagrant plugin install vagrant-winnfsd

folders:
    - map: ~/WWW
      to: /home/vagrant/Code
      type: nfs

以防万一删除站点主机名前的斜杠。我不确定这是否是原因,但这是我在您的配置中发现的唯一错误。

sites:
    - map: project1.app
      to: /home/vagrant/Code/project1/public
    - map: project2.dev
      to: /home/vagrant/Code/project2/public

另一个提示:安装 vagrant-hostsupdater 插件可以自动将主机名添加到您的主机文件中。

vagrant plugin install vagrant-hostsupdater

在你的Homestead.yaml文件中:

aliases: ["project1.app", "project2.dev"]

在 scripts/homestead.rb 文件中:

config.hostsupdater.aliases = settings["aliases"]

我的文件:homestead.rb and Homestead.yaml