我正在使用Laravel Homestead将虚拟机应用到我的开发环境中.我最近在我家创建了一个新的 map (/Website/Site/目录).yaml每当我转到site.app页时,我都会被重定向到另一个项目(/Laravel)中设置的/tasks页.(这会导致一个错误,因为页面不存在).这是我的家园.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

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

Here is the route.php for the project in Laravel/ (i.e. the old project)

 Route::get('/', function(){
    return Redirect::to('tasks');
 });

Why is a fresh install of Laravel being redirected by a project in a different directory?

SOLUTION

  1. vagrant reload --provision

or, more drastically

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

推荐答案

我也遇到了这个问题.

Presumedly, the changes in Homestead.yaml file are being ignored. So, I resolved to refresh it.

! REVISED SOLUTION THAT DOES NOT DESTROY YOUR MACHINE

My solution below is inadequate because it destroys your existing machine. See this solution first!

Once your Homestead environment is provisioned and running, you may want to add additional Nginx sites for your Laravel applications. You can run as many Laravel installations as you wish on a single Homestead environment. There are two ways to do this: First, you may simply add the sites to your Homestead.yaml file and then run vagrant provision.

Alternatively, you may use the serve script that is available on your Homestead environment. To use the serve script, SSH into your Homestead environment and run the following command...

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

对于Laravel.io forum,更好的解决方案是运行vagrant reload --provision.

See also

*Vagrant Docs

OLD SOLUTIONS: USE AS LAST RESORT

try 以下解决方案:

  1. from ~/Homestead run vagrant reload then vagrant up

或者,更彻底

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

OPTION 2 DESTROYS YOUR SERVER AND ITS DATABASES

注:我求助于第2步.

Laravel相关问答推荐

laravel错误更新使用外键的数据库

在Laravel Sail Docker环境中的PHPMyAdmin中出现`Out of Memory‘错误

使用 Amazon S3 的 Storage::get() 返回 false

Laravel 5 - 手动分页

在 laravel 的集合中找到?例子

Laravel 5 - 仅在特定页面/控制器(页面特定assets资源)上添加样式表

laravel:如何在 Eloquent Query 中使用 LOWERCASE 函数?

Eloquent 的 Model::query() 是什么意思?

在 Laravel 中显示已注册的路由

如何从不是控制器方法的方法发送响应?

如何运行artisan命令计划:在托管服务器上运行? (Laravel )

如何清理 Laravel Bootstrap 缓存配置文件?

Laravel 事件、监听器、作业(job)、队列之间的区别

assets资源不引用公用文件夹(Laravel)

在 laravel 的自定义路径中创建模型

如何在 Laravel 5.2 中使用 OR 条件将多个参数传递给中间件

今天之前的 Laravel 规则......怎么办

Laravel - artisan不工作

如何在 laravel eloquent 中保存布尔值

为什么`catch (Exception $e)` 不处理这个`ErrorException`?