对于我目前正在开发的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返回所需的输出?
答案 0 :(得分:0)
事实证明,我在我的网络路线上使用的本地化中间件导致了重定向。它重定向了没有语言前缀的任何路由。
我正在使用mcamara / laravel-localization。从我的面包屑路线中删除中间件解决了这个问题。