웹마스터 팁

아래는 제가 블로그에 작성한 내용을 붙여 넣은 것입니다.
원본은 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]

제목 글쓴이 날짜
게시판을 활용한 페이지 생성 및 관리 아이디어...(참고) [5] file 빨간발 2009.03.27
홈페이지 접속 속도에 미치는 에드온. [2] jih449 2009.03.27
1.2 업데이트후, 모듈 업데이트를 클릭해도 계속 업데이트 버튼이 남는 경우 [4] heesang 2009.03.27
특정 도메인의 메일 주소로만 가입 인증 메일 보내기 [3] 박정욱 2009.03.28
특정그룹 멤버 표시 위젯에서 이름 순 정렬하기 [2] file 이재한744 2009.03.30
Firebug와 FirePHP를 통한 XpressEngine의 디버깅 [6] file mooo 2009.04.01
xe 설치시 다음과 같은 오류가 생깁니다. Seung Hur 2009.04.02
팁이라기엔 좀 그렇구요.. 초보자를 위한 파일업로드FTP보다 훨씬좋은.. [2] 레드카라스 2009.04.02
위지윅 테이블 컴포넌트 (테이블 수정 기능) [3] file 개돌 2009.04.02
Cafe 운영시 조그만한 팁... [2] 부푸러 2009.04.03
관리자 아이디로 작성한 비밀글을 특정인이 볼수있도록 해주는 팁 [13] file Dreami 2009.04.03
클릭마다 조회수 올리기 [1.4.0] [12] file 지B 2009.04.04
게시판 스타일이 안바뀌는 경우에 해보실 사항 [4] coolsushi 2009.04.04
호스팅업체에서 rewrite mod를 지원하는데 사용할 수 없는 경우 [1] [1] 엔하늘 2009.04.05
이메일이 2개씩 보내질때 처치방법 [7] 얼터1 2009.04.08
게시판형태를 달력게시판으로 못하나요? [1] file 오늘하루는느느느 2009.04.09
요청하신 모듈을 찾을 수 없습니다 문제해결 방법 [2] 반도체맨 2009.04.09
IIS + PHP + MySQL5 설치 시 버젼 주의 [1] 개돌 2009.04.10
최근 이미지 위젯 noimage 표시.. [6] file 개돌 2009.04.10
주민등록 입력 폼 1.2.0 [55] file 개돌 2009.04.10