很抱歉这个问题太长了。我已经对此进行了一段时间的故障排除,我想我会分享所有的东西。
我正在运行vBulletin 5.1.5 (不要给我带来困难),我正在试图找出vBulletin软件的问题还是Apache问题。
系统: vBulletin 5.1.5,Apache2.4.7,mod_expires,memcached
无论本地浏览器(Chrome和Firefox都这样做),都会出现这个问题。
我刚刚完成了从vBulletin 5.1.4到5.1.5的升级,然后这个问题就开始出现了。vBulletin说这是Apache服务器的问题,他们只会将内容/头设置为无缓存,或者将其置之不理。
如果有人发了一个回复到一个帖子,然后返回到主论坛页面,新的回复不会显示为最新的(主题仍然显示0答复)。如果它们然后返回到线程中,则在刷新页面之前不会显示答复。
我们已经清除了vBulletin系统缓存,删除了域的所有cookie,并清除了本地缓存。
通过Chrome developer tools (Network选项卡),我可以看到以下内容:
当页面被更新时,vBulletin不应该重置日期:在header中吗?
我在世界协调世界时15:12:05制作原邮件。我立即在协调世界时15:12:10之后作答复。页HTTP头仍然显示日期: 15:12:05 UTC。我离开页面,转到主论坛页面,然后返回到帖子。它仍然显示HTTP头日期: 15:12:05 UTC,直到我刷新它。所以..。客户端没有被告知页面有更新。这是由vBulletin设定的,不是吗?因为页面是动态创建的?
我在配置文件中打开了调试,并查看了时间戳(由每个呈现页面底部的vBul公告生成):
当前时间: 11:31:39 -0500点击论坛链接-当前时间: Wed,2015年2月4日11:03 -0500点击刷新当前时间: Wed,04 Feb 2015 11:33:12 -0500再次点击主题-当前时间:结婚,2015年2月4日11:39 -0500 Click刷新当前时间: Wed,04 Feb 2015 11:35 -0500
请注意,当我点击论坛链接,我回到了时间(即使我做了一个新的帖子)。我刷新,我们回到现在的时间。
然后,当我再次单击主题时,时间戳与初始的post时间匹配--而不是在我发表评论后的时间。再次,我刷新和我们回到当前的时间和答复显示。
看看日志:
任何东西的状态代码都是200。第6项和第7项有一个缓存控制:最大年龄=3600以及原始帖子的日期和时间。
也许我不确定服务器和客户端之间的过期是如何工作的?从客户端到服务器的进程不是应该是.拉下原始页面并在本地缓存它。请稍后请求同一页,向服务器发送一个标题请求,以查看该页是否有新的时间,如果它们匹配,则提取本地副本,如果不匹配,则发送新副本。Apache不知道页面是否已经更新--这是由vBulletin生成的,对吗?
有什么想法吗?
发布于 2015-02-04 22:31:38
原来,这是/forums目录(在web根目录下)从父目录(/)继承.htaccess指令的一个问题。在那里有一些到期的指令正在被听取。现在.。要想知道如何忽略父目录中的.htaccess文件.
https://stackoverflow.com/questions/28331088
复制相似问题