Laravel 5.3中的ESI标签

时间:2017-01-17 15:46:20

标签: laravel laravel-5.3 varnish esi

对于我目前正在开发的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') }}" />

现在,当我加载页面时,我看到了文本&#34;重定向到/ breadcrumbs&#34;在应该呈现ESI标签的地方。显然,我然后重定向到/ breadcrumbs并看到我的控制器的输出。

如何停止此重定向行为并让Laravel返回所需的输出?

1 个答案:

答案 0 :(得分:0)

事实证明,我在我的网络路线上使用的本地化中间件导致了重定向。它重定向了没有语言前缀的任何路由。

我正在使用mcamara / laravel-localization。从我的面包屑路线中删除中间件解决了这个问题。