2011-10-18 45 views
1

如果Apache因任何原因关闭了页面,我有一个要求。 我想到的方式是让页面“缓存”,以便它始终可用。只有在apache关闭的情况下才能获取缓存页 - PHP

不过我有2个问题: - 我希望页面始终可用(可能是我可以缓存限制设置为一个非常大的数字) - 当我做的页面缓存,浏览器总是检索缓存即使apache已启动。

所以,任何人都可以建议我应该在这里做什么?可能有比我使用的更好的选择吗?

这是我使用的参考代码:

<?php 
session_cache_limiter('public'); 
$cache_limiter = session_cache_limiter(); 

session_cache_expire(60); 
$cache_expire = session_cache_expire(); 

session_start(); 

echo "hello world 2222"; 
?> 

在此先感谢 约翰

+4

设置缓存的请求......你怎么来服务服务器关闭时缓存的页面给用户? – JJJ

+0

你使用前端/后端方案吗?正如Juhana所说,如果你没有工作服务器,你甚至不能提供缓存内容 – user973254

+0

我认为这个想法存在一个主要缺陷(如果我的建议是可行的),那就是浏览器必须访问过这个站点至少要在本地缓存页面一次。除此之外,也许“缓存页面”可能是一个iframe,以避免在实际页面上设置如此高的缓存?我只是想要考虑OP有多接近。我并不确信这是一个实际的想法。 – Anthony

回答

1

我不知道如何做到这一点的工作。如果apache发生故障,该默认页面将如何提供服务?客户端将如何定向到Web根目录?谁在告诉客户该默认页面的位置?

我对“页面被缓存”的想法非常感兴趣。在离开Apache之后,你有没有取得任何成功?它是否需要浏览器访问页面一次以缓存页面?

这是对我们的想法的一个奇怪的补充。如何缓存一些JavaScript到页面中。 JavaScript尝试进行ajax调用。如果不成功,它会假定apache已关闭,然后将用户重定向到另一个服务器的网页,或者重新编写整个页面,并记住“服务器已关闭”页面。

不确定这是值得的资源,但它是一个有趣的想法。

0

你不能使用缓存来做到这一点。

为了处理请求并检测网络服务器的不可用性,您需要一些能够处理http请求,然后在Apache不可用时替换内容...即第二个网络服务器。如果你有第二台网络服务器,为什么不平衡它们呢?

+0

感谢您的回复 –

0

感谢所有为你的答案

我设法通过设置包含“DC”参数附加到AJAX调用一个cookie来做到这一点。

而整个页面使用ajax。

所以我做在页面的开始假性请求,如果我没有回应,我从“DC”参数中的cookie

相关问题