【问题标题】:ESI tags in Laravel 5.3Laravel 5.3 中的 ESI 标签
【发布时间】: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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2020-02-01
    • 2020-08-29
    • 2016-08-02
    • 2017-04-15
    • 2015-10-21
    • 2017-09-01
    • 2017-06-12
    • 2017-01-14
    • 1970-01-01
    相关资源
    最近更新 更多