Cap*_*tis 4 php performance offline-mode
现在不需要这样做但是考虑未来......
通过自定义编码cms将网站"脱机"一点的方法是什么?含义赋予管理员登录管理面板,在框中键入消息并提交表单的功能.除非用户是管理员,否则该消息将显示给任何用户而不是任何其他页面.
我之前已经完成了这个并且使用了一个if xml文件,然后从xml文件加载内容并在消息后面添加一个构造背景,其中一个登录框只允许管理员登录.当管理员将消息输入到框中时它将文本存储到xml中.当他们将网站"恢复生机"时,它只会删除xml文件.
唯一的问题是,一旦网站增长,它需要更多的点击并检查文件存在每个页面加载变得缓慢.任何人都有更好的解决方案吗?
谢谢.
假设这是在Apache上.
如果可能的话,我建议使用将所有请求.htaccess重新路由到"站点已关闭"消息的文件来执行此操作.
就像是:
RewriteRule (.*) /downmessage.php [L]
Run Code Online (Sandbox Code Playgroud)
(请注意,任何图像资源也会被重定向)
与PHP端标志检查和离线消息相比,这更快,而且它具有巨大的优势,即上传的图像和样式表等资源也不再可用 - 否则可能是通过缓存的文件,URL,Google图像点击...
在基于PHP的"离线"机制中,这些资源没有被阻止,如果有人知道URL,某些资源仍然可以访问的事实很难向用户解释("但是我们把网站关了,不是吗? ")如果网站因发布图像的法律问题而被删除(可能发生在每个人身上!),图像仍然可以在网站所有者不知情的情况下访问.
这样做的缺点是它需要mod_rewrite服务器上的模块,并且PHP需要对.htaccess文件具有写访问权:两者并非总是如此.
但是,虽然这种方法有其优点,但在实施任何更改之前,您的问题的基本前提是值得研究的.你说删除XML文件的检查花费了太多时间.我认为不是这样的.file_exists()检查在内部缓存,即使对于很多请求也不应导致任何明显的减速.平均Drupal或WordPress页面在每个请求上加载了数十个包含文件.相比之下,单个file_exists 相形见绌.