웹마스터 팁

아래는 제가 블로그에 작성한 내용을 붙여 넣은 것입니다.
원본은 http://skyfac.com/133 에서 확인하실 수 있습니다.
--------------------------------------------------------

얼마 전 와우웹 호스팅에서 계정을 구입했다. 초등교사를 위한 메타 블로그(http://lounge.luvda.com) 를 운영하기 위함이었는데 나중에 학급 홈페이지 및 커뮤니티 사이트를 개설할 것도 염두에 두었기 때문에 xe도 설치하기로 결정했다. 제로보드4 이후로 제로보드는 사용해 본 적이 없어서 다소 낯설기는 했지만 설치에 큰 어려움은 없었다.

  그런데 설치 후 404 에러가 계속 해서 발생했다. 영문을 몰라 몇번이고 재설치를 해 보았지만 문제는 계속해서 발생했다. rewrite.php 파일을 찾을 수 없다는 메세지가 계속해서 출력되었다. 며칠동안 끌었던 이문제를 드디어 오늘 해결하게 되었다.

  문제는 설치에서 비롯되었다. xe 홈페이지에서 tar.gz 파일을 받은 후 계정에 설치하고 압축을 풀면 저절로 xe라는 폴더를 생성하고 그 안에 프로그램이 설치된다. 그런데 나는 '도메인/xe'보다는 '+ '+ '도메인'으로 바로 사용하고 싶었기 때문에 xe폴더 안에 풀어진 파일들을 모두 상위 폴더로 옮겨 놓았다. 물론 접속은 되었는데 rewrite mod을 사용할 수 없었다. 하지만 숨겨진 파일인 .htaccess는 복사되지 않았는데 바로 이 때문에 계속해서 404에러가 발생했던 것이다.

  따라서 같은 문제로 고생하고 있는 사용자가 있다면 xe 폴더 안에 있는 .htaccess 파일을 상위 폴더로 복사해 줌으로써 간단히 해결할 수 있다.


.htaccess 내용
RewriteEngine On

# image...
RewriteRule ^(.+)/files/attach/images/(.*) ./files/attach/images/$2 [L]
RewriteRule ^(.+)/files/attach/menu_button/(.*) ./files/attach/menu_button/$2 [L]
RewriteRule ^(.+)/files/member_extra_info/(.*) ./files/member_extra_info/$2 [L]
RewriteRule ^(.+)/files/cache/(.*) ./files/cache/$2 [L]
RewriteRule ^(.+)/modules/(.*) ./modules/$2 [L]
RewriteRule ^(.+)/common/css/(.*) ./common/css/$2 [L]
RewriteRule ^(.+)/common/js/(.*) ./common/js/$2 [L]
RewriteRule ^(.+)/common/tpl/(.*) ./common/tpl/$2 [L]
RewriteRule ^(.+)/widgets/(.*) ./widgets/$2 [L]
RewriteRule ^(.+)/layouts/(.*) ./layouts/$2 [L]
RewriteRule ^(.+)/addons/(.*) ./addons/$2 [L]

# page
RewriteRule ^([a-zA-Z0-9_]+)/([[:digit:]]+)page$ ./index.php?mid=$1&page=$2 [L]

# total rss
RewriteRule ^rss/([[:digit:]]+){0,14}/([[:digit:]]+){0,14}/([[:digit:]]+)$ ./index.php?module=rss&act=rss&start_date=$1&end_date=$2&page=$3 [L]
RewriteRule ^rss/([[:digit:]]+)$ ./index.php?module=rss&act=rss&page=$1 [L]
RewriteRule ^rss$ ./index.php?module=rss&act=rss [L]
RewriteRule ^atom/([[:digit:]]+){0,14}/([[:digit:]]+){0,14}/([[:digit:]]+)$ ./index.php?module=rss&act=atom&start_date=$1&end_date=$2&page=$3 [L]
RewriteRule ^atom/([[:digit:]]+)$ ./index.php?module=rss&act=atom&page=$1 [L]
RewriteRule ^atom$ ./index.php?module=rss&act=atom [L]

# administrator page
RewriteRule ^admin/?$ ./index.php?module=admin [L]

# mid + act
RewriteRule ^([a-zA-Z0-9_]+)/api$ ./index.php?mid=$1&act=api [L]

# document permanent link
RewriteRule ^([[:digit:]]+)$ ./index.php?document_srl=$1 [L]

# document + act link
RewriteRule ^([[:digit:]]+)/([a-zA-Z0-9_]+)$ ./index.php?document_srl=$1&act=$2 [L]

# document + key + act link
RewriteRule ^([[:digit:]]+)/([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)$ ./index.php?document_srl=$1&act=$3&key=$2 [L]

# mid + document link
RewriteRule ^([a-zA-Z0-9_]+)/([[:digit:]]+)$ ./index.php?mid=$1&document_srl=$2 [L]

# mid + act link
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)$ ./index.php?mid=$1&act=$2 [L]

# mid + page link
RewriteRule ^([a-zA-Z0-9_]+)/page/([[:digit:]]+)$ ./index.php?mid=$1&page=$2 [L]

# mid + entry title
RewriteRule ^([a-zA-Z0-9_]+)/entry/(.+)$ ./index.php?mid=$1&entry=$2 [L]

# mid + category link
RewriteRule ^([a-zA-Z0-9_]+)/category/([[:digit:]]+)$ ./index.php?mid=$1&category=$2 [L]

# mid + act + document_Srl
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z])([a-zA-Z0-9_]+)/([[:digit:]]+)$ ./index.php?mid=$1&document_srl=$4&act=$2$3 [L]

# mid + document_Srl + page
RewriteRule ^([a-zA-Z0-9_]+)/([[:digit:]]+)/page/([[:digit:]]+)$ ./index.php?mid=$1&document_srl=$2&page=$3 [L]

# mid + category + page
RewriteRule ^([a-zA-Z0-9_]+)/category/([[:digit:]]+)/page/([[:digit:]]+)$ ./index.php?mid=$1&category=$2&page=$3 [L]

# mid + search target regdate (year+month)
RewriteRule ^([a-zA-Z0-9_]+)/([[:digit:]]+)/([[:digit:]]+)$ ./index.php?mid=$1&search_target=regdate&search_keyword=$2$3 [L]

# mid + search target regdate (year+month+day)
RewriteRule ^([a-zA-Z0-9_]+)/([[:digit:]]+)/([[:digit:]]+)/([[:digit:]]+)$ ./index.php?mid=$1&search_target=regdate&search_keyword=$2$3$4 [L]

# mid + search target tag
RewriteRule ^([a-zA-Z0-9_]+)/tag/(.*)$ ./index.php?mid=$1&search_target=tag&search_keyword=$2 [L]

# mid + search target writer
RewriteRule ^([a-zA-Z0-9_]+)/writer/(.*)$ ./index.php?mid=$1&search_target=nick_name&search_keyword=$2 [L]

# mid + document_Srl + page + act
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([[:digit:]]+)/page/([[:digit:]]+)$ ./index.php?mid=$1&document_srl=$3&page=$4&act=$2 [L]

# module link
RewriteRule ^([a-zA-Z0-9_]+)(/){0,1}$ ./index.php?mid=$1 [L]

제목 글쓴이 날짜
홈페이지 접속 속도에 미치는 에드온. [2] jih449 2009.03.27
위지윅 테이블 컴포넌트 (테이블 수정 기능) [3] file 개돌 2009.04.02
Cafe 운영시 조그만한 팁... [2] 부푸러 2009.04.03
호스팅업체에서 rewrite mod를 지원하는데 사용할 수 없는 경우 [1] [1] 엔하늘 2009.04.05
요청하신 모듈을 찾을 수 없습니다 문제해결 방법 [2] 반도체맨 2009.04.09
IIS + PHP + MySQL5 설치 시 버젼 주의 [1] 개돌 2009.04.10
주민등록 입력 폼 1.2.0 [55] file 개돌 2009.04.10
게시판에서 확장 변수를 쓰는 경우 1.2.0 이상 버전으로 업그레이드하기 전에 패치하시기 바랍니다. [5] file mooo 2009.04.14
페이지 및 게시판 메뉴 경로 [2] file 자반튀김 2009.04.15
홈페이지 타이틀이 $user_lang->home ,freeboard등으로 나오는 문제 수정방법(자체해결) [1] 정박사닷컴 2009.04.18
다양한 언어로 홈페이지 서비스하기 - 무식한 방법 [4] 멀리서 2009.04.21
BNU님의 Planner XE 1.2 버젼(일정관리) [9] file 개돌 2009.04.21
XE 위키에 최근 접속 페이지 정보 출력 file 개돌 2009.04.27
사랑비BGM 플레이기 설치하고 제어하기 [2] 스유군 2009.04.28
1.2.2 업데이트 이후 위젯이 출력안되시는 분들 [1] [1] 반도체맨 2009.05.01
XpressEngine 1.2.2용 배경음악 틀 [4] 마빈박사359 2009.05.10
내가 작성 한 글에 대한 일괄 삭제/이동/복사 권한 주기 [2] file 개돌 2009.05.15
까페 아이디 삭제후 동일 아이디로 생성하는 방법 키스메리 2009.05.15
게시판에서 헤더와 풋부분을 붙이면 이미지 출력이 되지 않아요.. [2] 율이★ 2009.05.19
별도 페이지 로그인방법 cornet 2009.05.21