【发布时间】:2019-12-12 23:55:23
【问题描述】:
我是 Laravel 的新手。
我正在开发一个现有的 Laravel 5.8 项目。我使用 HomeStead 在本地安装它。
我注意到一个奇怪的重定向行为:考虑到我的主页是http://project.test/,当有重定向时,比如/redirected,Laravel 将位置设置为http://project.test/://project.test/redirected!当我试图弄清楚发生了什么事情时,我看到 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文件中。
我当然错过了一些东西,但到目前为止我找不到任何关于此的信息。
【问题讨论】:
-
config/app.php文件中的“url”是什么? -
'url' => env('APP_URL', 'http://project.test')。和APP_URL=http://project.test在.env文件中。 -
你的配置看起来不错。你能分享一下你使用 url() 的 sn-p 代码吗?
-
APP_URL仅由 CLI 使用,当您通过网络服务器运行时它什么也不做 -
我在描述中添加了一个例子。