Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 大型网站如何做维护通知页面?_Php_Maintenance_Maintenance Mode - Fatal编程技术网

Php 大型网站如何做维护通知页面?

Php 大型网站如何做维护通知页面?,php,maintenance,maintenance-mode,Php,Maintenance,Maintenance Mode,我即将升级我的整个网站。我正在寻找有关科技初创公司如何进行维护流程的建议 我正在考虑使用htaccess。但是,这只会将访问index.php的用户重定向到maintenance.php,对吗?如果用户访问dashboard.php,则不会重定向 在维护期间,我确实需要访问index.php(仅限我)。在科技初创公司工作的人愿意分享他们的解决方案吗?非常感谢。我们使用LightTPD作为web服务器,我使用“mod_magnet”来做这些事情。Mod_magnet允许我使用简单的lua脚本处理请

我即将升级我的整个网站。我正在寻找有关科技初创公司如何进行维护流程的建议

我正在考虑使用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地址通过,因此您仍然可以查看网站,例如从您的公司网络,而其他所有人都只看到维护页面

这个解决方案工作得很好,而且由于自动化,如果您需要一个或多个Web服务器上的维护页面,这并不重要

如果您感兴趣,您可以在此处找到有关“mod_磁铁”的更多信息:


自从您提到.htaccess以来,我假设您正在使用Apache作为web服务器。正如其他人提到的,您可以使用.htaccess,也可以编辑该特定站点的VirtualHost配置

无论哪种方式,我都建议使用Jonathon Sampson推荐的mod_rewrite,但是,您要非常小心,确保发送正确的状态代码,因为重要的机器人程序(如Google Bot)希望看到503,告诉他们您当前正在维护


有一些非常明确的说明可以帮助您准确地执行所需操作。

htaccess可以将所有请求重定向到维护。phpI本来会给出解决方案,但我不为初创公司工作。@Slay您应该编辑您的问题,询问如何将站点置于维护模式,同时仍为员工保留访问权限,使用PHP/.htaccess。只关注技术方面,而不考虑创业公司等问题。有很多方法可以做到这一点,这完全取决于您的具体需求和架构。例如,您需要在维护窗口期间访问整个站点,还是只访问其中的一部分?你把你的整个网站,或它的一部分?是否使用负载平衡器?请参阅