2015-02-04 1 views
1

정말로 긴 질문에 사과드립니다. 나는 이것을 잠시 동안 문제를 해결하고 모든 것을 나눌 것이라고 생각했습니다.vBulletin 콘텐츠가 업데이트되지 않습니다 - mod_expires/Apache 문제가 있습니까?

저는 vBulletin 5.1.5를 실행하고 있습니다. (문제가 생기지 않습니다.) 문제가 vBulletin 소프트웨어 또는 Apache 문제인지 확인하려고합니다.

시스템 : vBulletin에 5.1.5, 아파치 2.4.7, mod_expires가,

memcached를이 문제에 관계없이 로컬 브라우저의 발생 (크롬과 파이어 폭스는 모두 그것을 할).

은 vBulletin 5.1.4에서 5.1.5로 업그레이드되었으며이 문제는 즉시 발생하기 시작했습니다. vBulletin은 이것이 아파치 서버 문제이고, 콘텐츠/헤더를 no-cache로 설정하거나 혼자 남겨 둘 것이라고 말한다.

누군가가 대화 목록에 게시물을 게시 한 다음 기본 포럼 페이지로 돌아 가면 새 답장이 최신으로 표시되지 않습니다 (주제에는 여전히 0 개의 답글이 표시됨). 그런 다음 스레드로 돌아 가면 페이지를 새로 고칠 때까지 회신이 표시되지 않습니다.

우리는 vBulletin 시스템 캐시를 삭제하고 도메인의 모든 쿠키를 삭제하고 로컬 캐시를 삭제했습니다.

페이지가 업데이트되었습니다

는, vBulletin에이 날짜를 재설정해서는 안 : HTTP 헤더에 (네트워크 탭) 나는 다음을 참조 Chrome 개발자 도구를 통해

?

나는 15:12:05 UTC로 원래 게시물을 만듭니다. 나는 UTC 15:12:10에 바로 뒤에 답장을합니다. 페이지 HTTP 헤더에는 여전히 Date :가 UTC 15:12:05로 표시됩니다. 나는 페이지를 떠나 메인 포럼 페이지로 간 다음 게시물로 돌아갑니다. 그것은 새로 고침 때까지 여전히 HTTP 헤더 날짜 : 15시 12 분 5 초 UTC로 표시됩니다. 그래서 .. 클라이언트는 페이지에 대한 업데이트가 있다는 말을 듣지 않습니다. 이것은 vBulletin에 의해 설정됩니다, 안 그래? 페이지가 동적으로 생성 되었기 때문에?

나는 설정 파일에 디버깅 및 각 렌더링 된 페이지의 맨 아래)에서 vBulletin에 의해 생성 된 타임 스탬프 ((바라 보았다 돌았 :

초기 포스트 - 현재 시간 : 2015년 (수) 11시 31분 2월 4일 : 39 -0500 댓글 후 - 현재 시간 : 수요일, 2015 년 2 월 11 일 11시 31 분 39 초 -0500 포럼 링크 클릭 - 현재 시간 : 2 월 4 일 수요일 11:31:03 -0500 조회 새로 고침 - 현재 시간 : Wed, 04 Feb 2015 11:33:12 -0500 주제를 다시 클릭하십시오. - 현재 시간 : Wed, 04 2 월 20 일 11:31:39 -0500 새로 고침 클릭 - 현재 시간 : Wed, 04 2 월 20 일 11:35:15 -0500

포럼 링크를 클릭하면 (새로운 게시물을 만들었음에도 불구하고) 제 시간에 돌아갑니다. 새로 고침, 현재 시간으로 되돌아갑니다.

그런 다음 주제를 다시 클릭하면 시간 스탬프가 초기 게시물 시간과 일치합니다. 주석을 작성한 후 시간이 아닙니다. 다시 한번, 나는 새롭게하고 우리는 현재 시간에 돌아오고 응답은 보여준다.

로그를 보면 :

  1. 나는 새 스레드 GET/포럼/새로운 컨텐츠를 클릭/44 HTTP/1.1 내가 할
  2. 포스트 POST/포럼 생성/컨텐츠/텍스트/HTTP /1.1
  3. 페이지 새로 고침 GET/forums/forum/general/test-forum/28305-this-another-new-topic
  4. 답장 추가 POST/포럼/create-content/text/HTTP/1.1
  5. 는 응답이 나타 POST/포럼 생성/콘텐츠/loadnode HTTP/I는 포스트 GET/포럼/포럼/일반/테스트 포럼 HTTP/1.1
  6. I의 상위 포럼으로 이동 1.1
  7. 포스트, 페이지 디스플레이 및 POST/forums/ajax/api/node/incrementNodeview HTTP/1.1을 클릭 한 다음 /forums/foru...-other-testt HTTP/1.1
를 클릭하십시오.

모든 항목의 상태 코드는 200입니다. 항목 6과 7에는 Cache-Control : max-age = 3600과 원래 게시물의 날짜와 시간이 있습니다.

어쩌면 나는 서버와 클라이언트 사이에 만료가 어떻게 작용하는지 확신 할 수 없을까? 클라이언트에서 서버로의 프로세스가 원래 페이지를 끌어 내려 로컬로 캐시하는 것과 같지 않은가? 나중에 같은 페이지를 요청하고 헤더에 대한 서버에 요청을 보내서 페이지에 새로운 시간이 있는지 확인한 다음 일치하는 경우 로컬 복사본을 가져옵니다. 일치하지 않으면 새 복사본을 보냅니다. 아파치는 페이지가 업데이트되었는지 여부를 알지 못합니다 - vBulletin에 의해 생성 된 것입니까?

의견이 있으십니까?

답변

0

부모 디렉토리 (/)에서 .htaccess 지시어를 상속 한/forums 디렉토리 (웹 루트 아래)에서 문제가 발생합니다. 거기에는 많은 청취 지시어가 있습니다. 이제 ... 상위 디렉토리에서 .htaccess 파일을 무시하는 방법을 알아내는 중 ...

관련 문제