vBulletin内容不更新-mod_expiresApache问题?

问题描述 投票:1回答:2

对不起,这个问题很长。我已经排除了一段时间的故障,我想我应该分享一切。

我正在运行vBulletin 5.1.5(不要为难我),我想弄清楚是vBulletin软件的问题还是Apache的问题。

系统:vBulletin 5.1.5, Apache 2.4.7, mod_expires, memcached。

无论本地浏览器如何,这个问题都会发生(Chrome和Firefox都会发生)。

I 只是 vBulletin说这是Apache服务器的问题,他们只会把contentheaders设置为no-cache,或者不管它。

如果有人发布了一个回复到一个主题,然后回到论坛主页面,新的回复不会显示为最新的(主题仍然显示0个回复)。如果他们再回到主题中,回复不会显示,直到他们刷新页面。

我们已经清除了vBulletin系统缓存,删除了该域的所有cookies,并清除了本地缓存。

通过Chrome开发者工具(网络选项卡),我看到了以下内容。

当一个页面被更新后,vBulletin不应该重置HTTP头中的Date:吗?

我在15:12:05UTC发了原始帖子。我在15:12:10UTC立即做出回复。页面的HTTP头仍然显示日期:为15:12:05 UTC。我离开页面,进入论坛主页面,然后返回帖子。它仍然显示HTTP头日期:为15:12:05 UTC,直到我刷新它。所以......客户端并没有被告知页面有更新。这是由vBulletin设置的,不是吗?因为页面是动态创建的?

我在配置文件中开启了调试功能,并查看了时间戳((在每个渲染页面的底部由vbulletin生成)。

Initial Post - Current Time: Wed, 04 Feb 2015 11:31:39 -0500After Comment - Current Time: Wed, 04 Feb 2015 11:31:39 -0500Click on forum link - Current Time: Wed, 04 Feb 2015 11:31: 03 -0500点击刷新 -当前时间:Wed, 04 Feb 2015 11:33:12 -0500再次点击主题 -当前时间:Wed, 04 Feb 2015 11:31:39 -0500点击刷新 -当前时间:Wed, 04 Feb 2015 11:35:15 -0500。

请注意,当我点击论坛链接时,我回到了过去(即使我已经发了一个新帖子)。我刷新,我们回到当前时间。

然后,当我再次点击主题时,时间戳符合最初的帖子时间--而不是我发表评论后的时间。再一次,我刷新,我们回到了当前时间,回复也显示出来了。

看着日志。

  1. 我点击新线程 GET forumsnew-content44 HTTP1.1
  2. 我发帖POST forumscreate-contenttext HTTP1.1
  3. 页面刷新 GET forumsforumgeneraltest-forum28305-this-is-another-new-topic
  4. 我添加了一个回复 POST forumscreat-contenttext HTTP1.1
  5. 回复显示 POST forumscreate-contentloadnode HTTP1.1
  6. 我进入帖子的父论坛GET forumsforumgeneraltest-forumHTTP1.1。
  7. 我点击帖子,页面显示,POST forumsajaxapinodeincrementNodeview HTTP1.1,然后GET forumsforu...-another-testt HTTP1.1。

一切状态码为200。第6项和第7项有一个Cache-Control:max-age=3600和原帖的日期和时间。

可能我不清楚服务器和客户端之间的过期是如何工作的?从客户端到服务器的过程是不是应该是这样的......把原来的页面拉下来,缓存在本地。之后再请求同样的页面,向服务器发送一个请求头,看页面是否有新的时间,如果符合则拉下本地副本,如果不符合则发送新副本。Apache不知道页面是否已经更新--这是由vBulletin生成的,对吗?

有什么想法吗?

apache vbulletin mod-expires
2个回答
0
投票

原来是论坛目录(web根目录下)继承父目录()的.htaccess指令的问题。那里有很多过期的指令被监听了。现在....要想办法忽略父目录的.htaccess文件....

© www.soinside.com 2019 - 2024. All rights reserved.