gpt4 book ai didi

php - 如何在只允许我访问的情况下将站点置于维护模式?

转载 作者:IT王子 更新时间:2023-10-29 00:18:41 25 4
gpt4 key购买 nike

我即将升级我的整个网站,我正在寻找一种方法来执行维护过程,但仍允许我访问。

我正在考虑使用 htaccess。但是,这只会将访问 index.php 的用户重定向到 maintenance.php,对吧?如果用户访问 dashboard.php,则不会有重定向。

在维护期间,我确实需要访问 index.php(只有我自己)。

最佳答案

我们使用 LightTPD 作为 Web 服务器,我使用“mod_magnet”来做这些事情。 Mod_magnet 允许我使用简单的 lua 脚本进行请求处理。我们有一个自动任务,它将在网络服务器的文件系统中的某处创建一个空文件。 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

关于php - 如何在只允许我访问的情况下将站点置于维护模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10622440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com