【发布时间】:2014-08-10 15:07:30
【问题描述】:
构建 CMS 并寻找向用户显示维护模式消息的正确方法。
我的计划是在我的管理后端提供选项。我的数据库中已经有用于网站配置的表,并且我有一个只有值的字段。我在正常模式下使用 1,在维护模式下使用 2。我只是希望能够更新数据库。
但是,我的问题是,这样做的正确方法是什么?
我的第一个想法是检查数据库,然后如果值为“2”,我会将用户(所有 PHP)重定向到例如503.php。
但我也看到更好的方法是在 .htaccess 中,然后我可以允许某个 IP 仍然可以访问。但是 .htaccess 中的这个可以通过数据库检查来管理吗?
希望以“标准”的方式正确地做事。
我的第一个建议可行吗? “维护模式”的主要原因其实是为了保护自己。我的网站已经通过了大量的测试,但我想要一种方法可以在我解决任何问题的同时快速关闭对网站的访问(SEO 友好)。或者在我更新网站本身时。
谢谢
【问题讨论】:
-
也许做一个 cron 工作来检查每分钟数据库中的值是什么。如果是
true,请编辑 .htaccess 文件以包含除您之外的所有 IP 的 503。 -
这确实是一个基于意见的问题。一个人定义的“维护模式”可能与另一个人完全不同。您在谈论您想要的行为或您的系统架构时也没有真正具体,这可能允许其他选项(例如从负载均衡器中删除正在维护的主机)。
-
刚刚对我的问题添加了一些更新。谢谢。
-
你为什么不直接使用源代码控制呢?这样您就可以在本地工作并在修复后完成更改。
-
对 SEO 最友好的维护方式是进行部分维护。您通常不需要关闭整个站点。也像其他人所做的评论一样:如果之前的测试没有解决问题,请将站点切换回以前的版本,在第二台主机上测试,然后重新部署下一个版本。那通常是没有停机时间的。
标签: php .htaccess http-status-code-503 maintenance-mode