laravel - 维护模式与中间件在 Laravel 中重定向
问题描述
我对 Laravel 的维护模式了解不多。我目前正在使用从数据库获取站点状态的中间件,如果它已关闭,则重定向到维护视图。
与这种方法相比,使用 Laravel 的维护模式有什么好处?
解决方案
Laravel 的维护模式提供了一些简单的重定向到维护页面所没有的功能。您是否需要这些仅取决于您的特定设置。
https://laravel.com/docs/5.8/configuration#maintenance-mode
- 如果您有排队任务,则队列将在维护模式期间暂停,并在维护停止时恢复。
- 它会自动发送一个 503 状态响应,这对于 API 请求很有用。
- 它允许您在响应中发送重试标头,因此请求者可以以编程方式知道在重试之前要等待多长时间。
你可以自己实现这些,但 Laravel 已经免费提供了它们。你还可以自定义 Laravel 的维护视图,这样当站点关闭时,你仍然可以向用户展示你自己的自定义维护页面。
需要注意的是,在某些情况下 Laravel 的默认维护模式是不够的。如果您在单个服务器上设置了多租户,并且希望允许每个租户独立于其他租户进入维护模式,那么您将必须构建自己的解决方案。
推荐阅读
- javascript - 如何知道用户在“onbeforeunload”对话框提示中按下了什么?
- reactjs - github actions firebase 没有项目活动,但项目别名可用
- c# - 方法参数未被识别
- javascript - 更新状态后一次又一次地获取数据
- javascript - 如何动态设置函数而不在javascript中调用它?
- google-sheets - 在 Google 表格电子表格中,QUERY 如何用于内存中的 TRANSPOSE?
- reactjs - 如何从路径 React JS 上传图像?(不使用)
- javascript - discord.js 你如何做一个反应收集器
- go - Kubernetes go-client 列出类似于 `kubectl get pods` 的 pod 详细信息
- python - 如何在一个列上进行分组,同时在整个数据框中按另一列排序