我即将升级我的整个网站。我正在寻找有关科技初创公司如何进行维护过程的建议。
我正在考虑使用htaccess。但是,这只会将访问例如 index.php 的用户重定向到 maintenance.php 对吗?如果用户访问dashboard.php,则不会有重定向。
在维护期间,我确实需要访问 index.php(仅限我)。在科技初创公司工作的任何人都愿意分享他们的解决方案吗?非常欣赏它。
我即将升级我的整个网站。我正在寻找有关科技初创公司如何进行维护过程的建议。
我正在考虑使用htaccess。但是,这只会将访问例如 index.php 的用户重定向到 maintenance.php 对吗?如果用户访问dashboard.php,则不会有重定向。
在维护期间,我确实需要访问 index.php(仅限我)。在科技初创公司工作的任何人都愿意分享他们的解决方案吗?非常欣赏它。
我们使用 LightTPD 作为 Web 服务器,我使用“mod_magnet”来做这些事情。Mod_magnet 允许我使用简单的 lua 脚本进行请求处理。我们有一个自动任务,它将在 Web 服务器的文件系统的某处创建一个空文件。lua 脚本将在每个请求上检查该文件是否存在,如果找到该文件,则返回一个静态维护页面。脚本的重要部分如下所示:
--
-- maintenance page
--
local config = {
['maintenance'] = {
['allow'] = {
'127.0.0.1' -- just an example IP address
}
}
}
if lighty.stat(lighty.env['physical.doc-root'] .. 'maintenance') then
tmp, _ = table.search(config.maintenance.allow, lighty.env['request.remote-ip'])
if not tmp then
-- maintenance modus
lighty.content = {
{ filename = lighty.env['physical.doc-root'] .. 'error/maintenance.html' }
}
return 503
end
end
在脚本中还有一个配置仍然允许特定的 IP 地址通过,因此您仍然可以从您的公司网络查看该网站,例如,当其他人只获得维护页面时。
该解决方案运行良好,并且由于自动化,如果您需要一个或多个网络服务器上的维护页面,这并不重要。
如果您有兴趣,可以在此处找到有关“mod_magnet”的更多信息:
http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ModMagnet
由于您提到 .htaccess,我假设您使用 Apache 作为您的 Web 服务器。正如其他人提到的,您可以使用 .htaccess 或者您可以编辑该特定站点的 VirtualHost conf。
无论哪种方式,我都建议按照 Jonathon Sampson 的建议使用 mod_rewrite,但是,您要非常小心以确保发送正确的状态代码,因为 GoogleBot 等重要的机器人希望看到 503 告诉他们您当前在维护中。
在这篇 AskApache 文章中,有一些非常明确的说明可以完全按照您的要求进行操作。