php - 在计划外维护期间重定向

标签 php mysql

我们的服务器有时会遇到数据库连接问题,发生这种情况时我们希望临时重定向用户。将用户重定向到维护页面的最佳方式是什么?

类似于

if (!$db) {
    header("Location: /maintainence/index.php, TRUE, 503");
    exit();
}

if (!$db) {
  header('HTTP/1.1 503 Service Temporarily Unavailable');
  header('Status: 503 Service Temporarily Unavailable');
  header('Retry-After: 3600'); // in seconds
  include_once "maintainence/index.php";
}

谢谢

最佳答案

正确的响应方式是使用相关的 HTTP 状态代码 - 这解决了 REST、AJAX 和搜索引擎 carawlers 的问题 - 但某些版本的 MSIE 会隐藏您发送给用户的信息 if the content is considered too short .

header("Location: /maintainence/index.php, TRUE, 503);

撇开丢失的引号不谈,您无法执行重定向 (30x) 并同时返回错误代码。按照第二种方法内联执行 - 但添加显式退出!

关于php - 在计划外维护期间重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20150083/

相关文章:

MySQL 选择多个变量不起作用

php - 尝试创建自定义日志 channel Laravel 5.6

php - 如何停止更改代码?

javascript - 使用 JavaScript 在 HTML 中提交多个表单

mysql - 如何使用排除进行 SQL JOIN

php - MySQL 1253 COLLATION 错误 PHP

javascript - javascript、php、html 和 mysql 查询中的多语言字符

php - Hotmail 拒绝 php 的电子邮件

php - Laravel foreach 在 View 中

php - 存储过程无法使用 mysql 中的 php 代码传递 xml 作为输入