laravel - Laravel 5 url() 不包含方案
问题描述
我是 Laravel 的新手。
我正在开发一个现有的 Laravel 5.8 项目。我使用 HomeStead 在本地安装它。
我注意到重定向的一个奇怪行为:考虑到我的主页是http://project.test/
,当有重定向时/redirected
,Laravel 将位置设置为http://project.test/://project.test/redirected
!当我试图弄清楚 wat 发生了什么时,我看到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')
在config/app.php
APP_URL=http://project.test
在.env
文件中。
我当然错过了一些东西,但到目前为止我找不到任何有关此的信息。
解决方案
当你重定向检查你是否写过:“Redirect::home()”,尝试“return Redirect::home()”(注意返回)
我测试了你的路线,它对我来说很好。我给你我的配置,只需将我的项目名称“tlara”替换为你的:“project”
在主机.sam
127.0.0.1 talara.test #laragon 魔法!(注意不是我的ip 192.xx.xx,127.0.0.1是通用localhost)
在 .env 中
APP_URL= http://localhost
..
REDIS_HOST=127.0.0.1 (我不知道是否相关)..
SESSION_DOMAIN='localhost'
清除
清除缓存(路由、缓存、视图)(可能没用)
测试
tlara.test/info
127.0.0.1/info
localhost/tlara/public/info
推荐阅读
- sql - SSIS 作业失败 - 拒绝访问平面文件
- c - 从 Int 10h/AX=4F00h 检索 VESA 视频模式列表
- swift - 如何用 CLLocationDegrees 解决这个问题?
- java - 通过在 java 中设置 cookie 进行身份验证,在浏览器中打开网页
- email - 邮件客户端发件人图片
- ios - 应用旋转为横向和纵向,但不会倒置旋转
- codeblocks - code::blocks 不会将我的设置保存为默认设置
- r - 组合两个相同/不同名称的数据框
- java - 在 java play scheduler 任务中注入一个类实例
- ballerina - 芭蕾舞演员的运行时间问题