抱歉这个很长的问题。我一直在对此进行故障排除,并认为我会分享所有内容。
我正在运行vBulletin 5.1.5(不要给我带来困难)并且我正在试图弄清楚vBulletin软件或Apache问题是否存在问题。
系统:vBulletin 5.1.5,Apache 2.4.7,mod_expires,memcached
无论本地浏览器如何(Chrome和Firefox都这样做)都会出现此问题。
我只是从vBulletin 5.1.4升级到5.1.5,此问题立即开始发生。 vBulletin说这是一个Apache服务器问题,他们只会将内容/标题设置为无缓存,或者不管它。
如果有人发布了对某个帖子的回复然后返回主论坛页面,则新回复不会显示为最新回复(该主题仍会显示0个回复)。如果他们然后返回到该主题,则在刷新页面之前,回复不会显示。
我们已清除vBulletin系统缓存,删除了域的所有Cookie并清除了本地缓存。
通过Chrome开发者工具(网络标签),我看到以下内容:
当页面更新时,vBulletin不应该重置日期:在HTTP标题中吗?
我在UTC时间15:12:05发表原帖。我在UTC时间15:12:10后立即回复。页面HTTP标头仍显示日期:格式为15:12:05 UTC。我离开页面进入主论坛页面,然后返回帖子。它仍然显示HTTP标头日期:格式为15:12:05直到我刷新它。所以..客户端没有被告知页面有更新。这是由vBulletin设定的,不是吗?由于页面是动态创建的吗?
我在配置文件中打开了调试并查看了时间戳((在每个呈现页面的底部生成BY vbulletin):
首发 - 当前时间:2015年2月4日星期三11:31:39 -0500 评论后 - 当前时间:2015年2月4日星期三11:31:39 -0500 点击论坛链接 - 当前时间:2015年2月4日星期三11:31:03 -0500 点击刷新 - 当前时间:2015年2月4日星期三11:33:12 -0500 再次点击主题 - 当前时间:2015年2月4日星期三11:31:39 -0500 点击刷新 - 当前时间:2015年2月4日星期三11:35:15 -0500
请注意,当我点击论坛链接时,我会及时回顾(即使我已经发了一个新帖子)。我刷新,我们回到现在。
然后当我再次点击主题时,时间戳与初始发布时间相匹配 - 而不是我发表评论后的时间。再次,我刷新,我们回到当前时间,回复显示。
查看日志:
所有内容的状态代码均为200.第6项和第7项都有一个Cache-Control:max-age = 3600以及原始帖子的日期和时间。
也许我不确定服务器和客户端之间的过期效果如何?从客户端到服务器的过程不应该是......拉下原始页面并在本地缓存它。稍后请求同一页面,向服务器发送请求以获取标题以查看页面是否有新时间,如果匹配则拉取本地副本,如果它们不匹配则发送新副本。 Apache不知道页面是否已更新 - 这是由vBulletin生成的,对吗?
有什么想法吗?
答案 0 :(得分:0)
原来这是/ forums目录(在web根目录下)从父目录(/)继承.htaccess指令的问题。那里有许多过期指令正在被听取。现在..弄清楚如何忽略父目录中的.htaccess文件...