如何在OctoberCMS中设置Cache-Control HTTP头?

3
我的应用程序对于所有页面返回“Cache-Control: no-cache, private”,我该如何更改这种行为?
附注:这不是PHP.ini的问题,因为将session.cache_limiter更改为空/公共并没有改变任何内容。

你是否处于调试模式 - Tschallacka
不,我没有处于调试模式。 - manifestor
1个回答

3

您可以连接一个事件监听器来监听特定的事件并设置头部信息。

 Event::listen('cms.page.display', function ($controller, $url, $page, $result) {
        $headers = [
            'Cache-Control' => 'max-age=2592000, public',
        ];
        return Response::make($result, $controller->getStatusCode(), $headers);
    });

1
谢谢,我需要了解一下关于事件方面的内容 - 这是否类似于 Laravel 中的中间件?在 OctoberCMS 中是否有类似的中间件实现呢? - manifestor
你也可以在 OctoberCMS 中注册中间件,因为它是基于 Laravel 运行的。事件会在特定点触发,基本上你可以在任何地方挂接,但通常你会想在插件的启动方法 boot 中处理。如果你还没有插件,只需创建一个,以便从该插件控制站点的行为。php artisan create:plugin Chevallier.SiteControl - Tschallacka
1
谢谢Tschallacka,现在我知道从哪里开始了 :) - manifestor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接