维护模式与中间件在Laravel中重定向

时间:2019-03-08 23:20:24

标签: laravel redirect middleware mode maintenance

我对Laravel的维护模式了解不多。我目前正在使用从数据库获取站点状态的中间件,如果该中间件已关闭,则将其重定向到维护视图。

与这种方法相比,使用Laravel的维护模式有什么好处?

1 个答案:

答案 0 :(得分:0)

Laravel的维护模式提供了一些仅通过重定向到维护页面无法获得的功能。是否需要这些取决于您的特定设置。

https://laravel.com/docs/5.8/configuration#maintenance-mode

  1. 如果您有排队的任务,队列将在维护模式下暂停,并在维护停止时恢复。
  2. 它会自动发送503状态响应,这对于API请求很有用。
  3. 它允许您在响应中发送重试标头,因此请求者可以以编程方式知道要等待多长时间才能再次尝试。

您可以自己实现这些,但是Laravel已经免费提供了它们。您还可以自定义Laravel的维护视图,因此当站点关闭时,仍可以向用户显示您自己的自定义维护页面。

仅需注意,在某些情况下Laravel的默认维护模式还不够。如果您在单个服务器上设置了多租户设置,并且希望允许每个租户独立于其他租户进入维护模式,则必须构建自己的解决方案。