我即将升级整个网站。我正在寻找关于科技创业公司如何进行维护过程的建议。
我正在考虑使用htaccess。但是,只有将用户访问权限重定向到例如index.php到maintenance.php对吗?如果用户访问dashboard.php,则不会有重定向。
在维护期间,我确实需要访问index.php(仅限我)。在科技创业公司工作过的人都愿意分享他们的解决方案吗?很赞赏它。
答案 0 :(得分:3)
我们使用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地址通过,因此您仍然可以从公司网络中查看网站,当其他人都只是维护页面时。
此解决方案非常有效,并且由于自动化,如果您需要在一个或多个Web服务器上使用维护页面,这无关紧要。
如果您有兴趣,可以在此处找到有关“mod_magnet”的更多信息:
http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ModMagnet
答案 1 :(得分:1)
因为你提到.htaccess我假设你正在使用Apache作为你的web服务器。正如其他人提到的那样,您可以使用.htaccess,也可以编辑该特定网站的VirtualHost配置文件。
无论哪种方式,我建议使用mod_rewrite作为Jonathon Sampson推荐,但是,你要非常小心,以确保你发送正确的状态代码,因为像GoogleBot这样的重要机器人想要看到一个告诉他们的503你目前正在维修。
有一些非常明确的说明可以在this AskApache article中完全按照您的要求进行操作。