1

对于我目前正在处理的 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 返回所需的输出?

4

1 回答 1

0

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

我正在使用 mcamara/laravel 本地化。从我的面包屑路由中删除中间件解决了这个问题。

于 2017-01-19T14:15:01.157 回答