웹마스터 팁
최근게시물의 캐시파일을 일반문서에 불러들이기
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
제목 | 글쓴이 | 날짜 |
---|---|---|
iframe을 이용한 악성코드 침투 - 치료 및 대응법 (검블러 or GENO)
[8]
![]() | 미루819 | 2009.10.01 |
비회원 글쓰기가 되지 않을 경우.. | 태쥐 | 2009.10.01 |
첨부한 압축파일이 손상되는 이유와 그 해결 (CRC 오류) | Gekkou | 2009.10.03 |
위젯에서 페이지 기능 활용 팁 [3] | 라르게덴 | 2009.10.05 |
파일 첨부시 사라지는 현상 [6] | Isaac Shepherd | 2009.10.07 |
-추가- 당신의 XE 기반 홈페이지를 훅가게 하는 방법 4가지 [26] | 老姜君 | 2009.10.08 |
제로보드4->XE 데이터 이전 시 회원 정보 오류 / 포인트 문제 [10] | 개돌 | 2009.10.08 |
최근게시물의 캐시파일을 일반문서에 불러들이기 [2] | 고진감래 | 2009.10.09 |
[확장변수] 게시물을 새창에서 전체화면으로 보기
[2]
![]() | 고진감래 | 2009.10.09 |
[초보] 본문 하단에 구글 애드센스 삽입방법 [2] | BigSeong | 2009.10.10 |
로그인 폼에 관리자는 [Admin] 나타나게 하기
[4]
![]() | 오스카 | 2009.10.10 |
모르지오 레이아웃 사용시 각종 [배경이미지] 넣어도 안 나타날 경우 [2] | 오스카 | 2009.10.10 |
레이아웃에서 배경이미지를 좌-아래에 넣을 경우 | 오스카 | 2009.10.10 |
게시판에서 비회원 메일 주소 확인하기 | 똑디 | 2009.10.12 |
플래너 "한줄공지" 가 삭제되지 않는 경우 의 임시대응법
[2]
![]() | Gekkou | 2009.10.13 |
textyle Domain 접속방법
[5]
![]() | 왜만지냐 | 2009.10.15 |
textyle에 믹시업 위젯 달기 [1] | 명희남편 | 2009.10.15 |
DB 이전시 오류 해결,,,하하하하...끝네 해결 했음....
![]() | Crazyhouse.cn | 2009.10.16 |
웹진/갤러리에서 썸네일 클릭 시 원본 이미지 보기 + HighSlide JS 적용 (수정) [18] | 고진감래 | 2009.10.17 |
간단한 위키링크 흉내내기 [5] | 고진감래 | 2009.10.17 |