2015-02-04 2 views
1

Извините за действительно длинный вопрос. Я некоторое время искал это, и решил, что я поделюсь всем.Содержимое vBulletin не обновляется - mod_expires/проблема с Apache?

Я бегу vBulletin 5.1.5 (мне нелегко это сделать), и я пытаюсь выяснить, есть ли проблема с программным обеспечением vBulletin или проблемой Apache.

Система: форума 5.1.5, Apache 2.4.7, mod_expires, Memcached

Эта проблема возникает независимо от локального браузера (Chrome и Firefox как это сделать).

I только сделал обновление с vBulletin 5.1.4 до 5.1.5, и эта проблема возникла сразу после. vBulletin говорит, что это проблема сервера Apache и что они будут устанавливать контент/заголовки как no-cache или оставить его в покое.

Если кто-то отправляет ответ на сообщение, а затем возвращается на главную страницу форума, новый ответ не отображается как последний (в теме по-прежнему отображаются 0 ответов). Если они затем вернутся в поток, ответ не появится, пока они не обновят страницу.

Мы очистили системный кеш vBulletin, удалили все файлы cookie для домена и очистили локальный кеш.

Через инструменты Chrome разработчика (вкладка Сети) я вижу следующее:

Когда страница была обновлена, не должен быть форумом сброса Даты: в заголовке HTTP?

Я делаю оригинальное сообщение в 15:12:05 UTC. Я отвечу сразу же в 15:12:10 по UTC. Заголовок HTTP-страницы по-прежнему показывает дату: как 15:12:05 UTC. Я оставляю страницу и перехожу на главную страницу форума, а затем возвращаюсь к сообщению. Он STILL показывает дату заголовка HTTP: как 15:12:05 UTC, пока я не обновляю его. Итак, клиенту не сообщают, что на странице есть обновление. Это устанавливается vBulletin, не так ли? Поскольку страницы создаются динамически?

Я свернула отладки на в конфигурационном файле и посмотрела на временных отметках ((сгенерированных в Справка нижней части каждой страницы) оказанной:

Начального сообщения - текущее время: ср, 04 февраля 2015 11:31: 39 -0500 После комментария - Текущее время: Ср, 04 Фев 2015 11:31:39 -0500 Нажмите на ссылку форума - Текущее время: Ср, 04 Фев 2015 11:31:03 -0500 Хит обновления - Текущее время: Ср, 04 Фев 2015 11:33:12 -0500 Нажмите на тему снова - Текущее время: Ср, 04 Фев 2015 11:31:39 -0500 Нажмите Обновить - Текущее время: Ср, 04 Фев 2015 11:35:15 -0500

Обратите внимание, что когда я нажимаю ссылку на форум, я возвращаюсь вовремя (хотя я сделал новое сообщение). Я обновляюсь, мы возвращаемся к текущему времени.

Затем, когда я снова нажимаю на тему, метка времени совпадает с начальным временем сообщения - НЕ после того, как я сделал комментарий. Еще раз, я обновляюсь, и мы возвращаемся к текущему времени, и ответ показывает.

Глядя на журналы:

  1. я нажимаю на новый поток GET/форумах/у-контента/44 HTTP/1.1
  2. Я делаю пост POST/форумах/создавать-контент/текст/HTTP/1.1
  3. Страница обновляется GET/forum/forum/general/test-forum/28305-this-is-new-topic-topic
  4. Я добавляю ответ POST/forums/create-content/text/HTTP/1.1
  5. ответ появляется POST/форумы/создания-контента/loadnode HTTP/1.1
  6. Я иду на родительский форум пост GET/форумах/форум/Общие/тест-форум HTTP/1.1
  7. I нажмите на сообщение, показы страниц и POST/forums/ajax/api/node/incrementNodeview HTTP/1.1, а затем GET /forums/foru...-another-testt HTTP/1.1

Все имеет код состояния 200. В пунктах 6 и 7 есть Cache-Control: max-age = 3600 и дата и время исходного сообщения.

Возможно, я не уверен, как работает срок действия между сервером и клиентом? Разве процесс от клиента к серверу не должен быть чем-то вроде ... вытащить исходную страницу и кешировать ее локально. Запросите ту же страницу позже, отправьте запрос на сервер для заголовка, чтобы узнать, есть ли у страницы новое время, если они совпадают, а затем вытащите локальную копию, если они не совпадают, чтобы отправить новую копию. Apache не имеет понятия, обновлена ​​ли страница или нет, которая генерируется vBulletin, правильно?

Любые мысли?

ответ

0

Оказывается, это проблема с каталогом/forums (под корнем сети), наследующим директивы .htaccess из родительского каталога (/). Там есть несколько директив, которые слушали. Теперь .., чтобы выяснить, как игнорировать файл .htaccess из родительского каталога ...

Смежные вопросы