Laravel 5 url()不包含方案

时间:2019-12-09 08:29:52

标签: laravel laravel-5

我在Laravel中很陌生。

我正在研究现有的Laravel 5.8项目。我是用HomeStead在本地安装的。

我注意到重定向的一种奇怪行为:考虑到我的主页是http://project.test/,当发生重定向时,例如对/redirected,Laravel将位置设置为http://project.test/://project.test/redirected!当我试图弄清扫管was正在进行时,我看到url('/') Laravel函数给了我://project.test而不是http://project.test

request()->getSchemeAndHttpHost()给出http://project.test

web.php中的示例:

Route::get('/info', function (Request $request) {


    echo url('/'); // gives '://project.test'
    echo '<br>';
    echo request()->getSchemeAndHttpHost(); // gives 'http://project.test'

    // This will lead me to 'http://project.test/://project.test/redirect'
    // return redirect('/redirect');
});


我在静态资源上也遇到同样的问题。

配置:

  • 'url' => env('APP_URL', 'http://project.test')中的{li> config/app.php
  • APP_URL=http://project.test文件中的
  • .env

我当然错过了一些东西,但是到目前为止我找不到任何信息。

1 个答案:

答案 0 :(得分:-1)

当您重定向时,请检查是否写了:“ Redirect :: home()”,请尝试“ return Redirect :: home()”(注意返回)

我测试了您的路线,对我来说很好。 我给你我的配置,只用你的“ project”替换“ tlara”就是我的项目名

在host.sam中

127.0.0.1 tlara.test#拉贡魔法! (注意不是我的ip 192.xx.xx,127.0.0.1是通用本地主机)

在.env

APP_URL = http://localhost
..
REDIS_HOST = 127.0.0.1(我不知道这是否是启示) ..
SESSION_DOMAIN ='localhost'

清除

清除缓存(路由,缓存,视图)(可能没用)

测试

tlara.test / info
127.0.0.1/info
本地主机/ tlara /公共/信息