Homestead:映射到错误文档根目录的文件夹

jkj*_*mr6 16 php vagrant laravel

我正在将Laravel Homestead用于VM进入我的开发环境./Website/Site/每当我进入site.app页面时,我最近在Homestead.yaml中创建了一个新的映射(目录),我被重定向到另一个项目(/Laravel)中设置的/ tasks页面.(这会导致错误,因为页面不存在).这是我的Homestead.yaml文件:

folders:
   - map: /Users/me/Homestead/Code/Laravel
     to: /home/vagrant/Code/Laravel
   - map: /Users/me/Homestead/Code/Larabook
     to: /home/vagrant/Code/Larabook
   - map: /Users/me/Homestead/Code/Website/Site
     to: /home/vagrant/Code/Website

sites:
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public
    - map: larabook.app
      to: /home/vagrant/Code/Larabook/public
    - map: site.app
      to: /home/vagrant/Code/Website/public

variables:
   - key: APP_ENV
     value: local
Run Code Online (Sandbox Code Playgroud)

Laravel包含重定向索引页面的路径,而Website目录是新项目,只是Laravel的全新安装而已.以下是一些服务器/请求数据错误输出:

SCRIPT_FILENAME /home/vagrant/Code/Laravel/public/index.php
SCRIPT_NAME     /index.php
REQUEST_URI     /tasks
DOCUMENT_URI    /index.php
DOCUMENT_ROOT   /home/vagrant/Code/Laravel/public
Run Code Online (Sandbox Code Playgroud)

这是Laravel /(即旧项目)项目的route.php

 Route::get('/', function(){
    return Redirect::to('tasks');
 });
Run Code Online (Sandbox Code Playgroud)

为什么Laravel的全新安装会被另一个目录中的项目重定向?

  1. vagrant reload --provision

或者,更彻底

  1. ~/Homestead运行vagrant destroy然后vagrant up

mik*_*ike 20

我也遇到过这个问题.

据推测,Homestead.yaml文件中的更改被忽略.所以,我决定刷新它.

!经过修改的解决方案,不会破坏您的机器

我的解决方案不合适,因为它会破坏您现有的机器.先看看这个解决方案!

配置并运行Homestead环境后,您可能需要为Laravel应用程序添加其他Nginx站点.您可以在单个Homestead环境中运行任意数量的Laravel安装.有两种方法可以执行此操作:首先,您可以将站点添加到Homestead.yaml文件中,然后运行vagrant配置.

或者,您可以使用Homestead环境中提供的服务脚本.要使用serve脚本,请在您的Homestead环境中使用SSH并运行以下命令...

http://laravel.com/docs/homestead#daily-usage

根据Laravel.io论坛,更好的解决方案是运行vagrant reload --provision.

也可以看看

*Vagrant Docs

旧解决方案:使用最后的度假村

试试这些解决方案

  1. ~/Homestead运行vagrant reload然后vagrant up

或者,更彻底

  1. ~/Homestead运行vagrant destroy然后vagrant up

选项2破坏您的服务器及其数据库

注意:我采用了第2步.

  • `vagrant reload --provision`为我工作.基本上只是被迫重新阅读`homestead.yaml`文件 (2认同)

bcd*_*s72 9

您可以运行homestead up --provision以强制重新加载Homestead.yaml文件.