웹마스터 팁
최근게시물의 캐시파일을 일반문서에 불러들이기
2009.10.09 23:07
팁이라기보다 아이디어 차원에서 올려봅니다.
보다 좋은 방법이 있으신 분은 같이 공유해주시면 고맙겠습니다.
보통 index.html 등 일반문서에 XE에서 만든 최근게시물 같은 위젯을 넣을 때는
'페이지'를 생성해 위젯을 넣은 후 일반문서에 iframe으로 삽입하는 방법이 많이 쓰입니다.
하지만 접속할 때마다 DB를 불러다 처리하기 때문에 렉도 있고 서버 부하도 생각해볼 문제입니다.
그래서 캐시파일을 이용해보는 방법을 생각해봤습니다.
zbxe 폴더에 XE가 설치되어 있다고 가정하고
XE에서 생성한 최근게시물을 index.html에 넣는 작업을 해보겠습니다.
1. XE의 관리자페이지 > 서비스관리 에서 예를 들어 latest란 이름으로 페이지를 생성해 최근게시물을 넣습니다.
캐싱 시간은 1~5분 정도로 적당히 잡습니다.
2. 이 latest 페이지에서 설정을 클릭하면 주소표시줄에 'module_srl=번호'가 나옵니다.
가령 이 번호가 66이라고 하면 zbxe/files/cache/page 에 66.ko.cache.php 란 파일이 생긴 것을 확인할 수 있습니다.
이것이 이 latest 페이지의 캐시파일입니다.
3. index.html 맨 위에 다음을 추가합니다.
<? $latest = 'zbxe/files/cache/page/66.ko.cache.php'; ?>
그리고 최근게시물을 넣을 자리에 다음과 같이 적습니다.
<? include $latest ?>
4. 이러면 최근게시물이 index.html에 출력은 됩니다만
css가 없어서 보기 안쓰러우니 최근게시물의 css도 불러줍니다
index.html의 <head>와 </head> 사이에 다음을 넣습니다.
<link rel="StyleSheet" HREF="http://.../zbxe/widgets/(사용한 최근게시물 경로명)/css/(css파일명).css" type="text/css">
(추가) 만약 index.html 글이 깨져서 출력될 경우 UTF-8로 저장하시기 바랍니다.
위치 맞추기와 css 문제로 좀 골치를 앓을 수 있겠지만
일단 include하는 과정까지는 그리 어렵지 않습니다.
문제는 여기서부터입니다.
XE에서 캐시파일을 만드려면 반드시 접속이 있어야 합니다.
하지만 위에서 만든 latest란 페이지를 접속하는 사람은 관리자 외에는 없기 때문에
캐시파일이 갱신이 안되는 문제가 발생합니다.
따라서 latest란 페이지에 일정하게 접속을 일으키는 무언가가 필요한데 현재까지 이것을 해결하지 못했습니다.
앞서 아이디어 차원이라고 미리 말씀드린 것도 이러한 이유에서입니다.
다만 다음과 같은 꼼수를 부릴 수는 있습니다.
5. index.html파일이 위치한 곳에 latest.html 이란 파일을 만듭니다. 안에는 다음 한 줄을 적습니다.
<meta http-equiv='refresh' content='10;url=zbxe/?mid=latest'>
6. 위의 index.html 에서 <? include $latest ?> 바로 위에 다음을 추가합니다.
<iframe src="./latest.html" frameborder="0" width="0" height="0">
content='10;, 다시 말해 index.html에 접속해서 10초가 경과하면
보이지 않는 iframe 내에서 zbxe/?mid=latest에 접속하게 되는 것입니다.
결국 index.html에 10초 이상 머문 방문자에게만
latest페이지를 접속하게 만들어 캐시파일을 갱신시키는 셈입니다.
어느 정도 규모가 되는 사이트면 20~30초로 수정해도 됩니다.
제 경우 20초로 설정해놓고 씁니다만 갱신에 문제는 없었습니다.
자신의 사이트에 맞는 수치를 찾아 설정하면 되겠습니다.
iframe에 넣는 것보다는 나은 방법이긴 합니다만
역시 이런 꼼수가 아닌 제대로 캐시파일을 일반문서에서 활용할 수 있는 방법이 있으면 합니다.
댓글 2
-
하피
2009.10.12 15:32
-
고진감래
2009.10.13 00:06
아, 그 부분을 깜박했군요.;;
수정하신 파일(위의 예에서 보면 index.html)을 UTF-8로 저장하셔야 합니다.
제목 | 글쓴이 | 날짜 |
---|---|---|
제로보드 XE가 갑자기 느려져서 확인해봤더니 [1] | jy1664 | 2009.10.27 |
[수정] 최근 이미지 추출에 new 이미지 등이 나타나게 하기... [5] | 비나무 | 2007.12.09 |
UCC솔루션에 대한 조사입니다~^^ [2] | 내다 | 2009.01.08 |
하나의 게시물을 각각 다르게 보이도록 만드는 방법 [5] | 얼터1.0 | 2009.10.24 |
호스팅 하시는 분들 서버사용량 줄이세요.. [8] | ☆쫑 | 2008.09.19 |
제로보드XE 외부출석부 [1] | noirzo | 2009.01.18 |
[초보] 본문 하단에 구글 애드센스 삽입방법 [2] | BigSeong | 2009.10.10 |
오늘 게시된 글은 날짜 대신 today 그림으로 대치 (왕초보용 초간단팁) | jsuimage | 2009.10.21 |
방명록 스킨을 통한 글 작성시 임시저장 가능케 하기(수정) | 라르게덴 | 2008.07.08 |
1.0.3 버전 이상부터 본문 내 이미지 자동 리사이징이 안되는 경우 [1] | kirrie | 2008.08.01 |
가입시 웹마스터에게 가입했다는 메일 보내기. [4] | dhseo | 2008.06.02 |
DB 이전시 오류 해결,,,하하하하...끝네 해결 했음.... | Crazyhouse.cn | 2009.10.16 |
레이아웃에서 배경이미지를 좌-아래에 넣을 경우 | 오스카 | 2009.10.10 |
www가 붙는 도메인과 그렇지 않은 도메인 하나로 처리하기 [8] | 똑디 | 2008.01.18 |
첨부 파일 용량 문제 - 이것도 저것도 않될때 [4] | DeJavu346 | 2009.01.22 |
인터넷 익스플로러 vs 파이어 폭스 속도 차이 [3] | Jiwoon Kim | 2009.01.25 |
레이아웃에 위젯 넣을때 위젯 사이즈 조절 [4] | mojo9 | 2008.11.07 |
왼쪽메뉴줄이고 오른쪽에 박스만들어 내용쉽게넣기 [15] | plruto | 2008.02.07 |
최근게시물의 캐시파일을 일반문서에 불러들이기 [2] | 고진감래 | 2009.10.09 |
제로보드의 아이콘을 내 맘대로 변경하기...(1) [3] | winter548 | 2009.03.23 |
님처럼 했는데... 게시글이 깨지고...css가 먹히질 않아요.
도와주세요.