【发布时间】:2017-01-19 22:15:01
【问题描述】:
对于我目前正在处理的 Laravel 5.3 项目,面包屑应该基于特定上下文动态构建。因为我们在这个项目上需要 Varnish,所以我尝试使用 ESI 标签。
我已经设置了一个路由来呈现面包屑并在 routes/web.php 中按如下方式返回它:
Route::get('breadcrumbs', 'BreadcrumbController@showBreadcrumb');
这是控制器的样子:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class BreadcrumbController extends Controller
{
public function showBreadcrumb(Request $request)
{
return 'Breadcrumb';
}
}
在我的模板中,ESI 标记定义如下:
<esi:include src="{{ url('breadcrumbs') }}" />
现在,当我加载页面时,我在应该呈现 ESI 标记的位置看到文本“重定向到 /breadcrumbs”。显然,然后我会重定向到 /breadcrumbs 并查看控制器的输出。
如何停止这种重定向行为并让 Laravel 返回所需的输出?
【问题讨论】:
-
我对 varnish 不是很熟悉,但它不是在与您的主应用程序不同的端口上运行吗?
-
@Chris Varnish 确实在与主应用程序不同的端口上运行,但这不是这里的问题。应正确配置清漆以使用 ESI 标记。
标签: laravel laravel-5.3 varnish esi