웹마스터 팁

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

제목 글쓴이 날짜
중국어게시판 사용할려고 합니다. jmb5 2010.05.10
로그인시 다음과같은 오류가 발생합니다. 빠른답변좀 ㅠㅠ [3] file 푸팅 2010.05.10
호스팅업체에서 rewrite mod를 지원하는데 사용할 수 없는 경우 [1] [1] 엔하늘 2009.04.05
zb4 게시판에 x, y를 사용하는 경우의 migration [1] 녹슨기차 2008.01.10
외부로그인-특정 페이지에 로그인창만 나타나게 하고 로그인하면 메인페이지로 이동하기 [11] 레드맨 2008.01.02
.htaccess 세팅 (index.html 없이 리다이렉션 구현) [2] :맥노턴 2008.01.04
VirtualPC로 IE6.0, IE7.0을 동시에 사용해서 홈피테스트하기 [2] file D.kim 2008.01.13
게시판 수가 많아 제목을 써넣는데 시간 절약 방법 아모스리 2010.05.04
htaccess 쉽게 만들기 현원 2010.05.03
다양한 언어로 홈페이지 서비스하기 - 무식한 방법 [4] 멀리서 2009.04.21
게시판 상단에 게시판제목을 표시하기 [2] file 연필깎는까치 2009.08.22
로그인 페이지 만드는 방법 [5] 산토 2009.06.12
첨부파일의 외부 무단 링크 차단하기(XE) 게시판설정 [7] file 왕초보왕따 2009.03.02
인용구 접기기능 링크이름 Underline 없애기 [4] file 똑디 2008.08.19
XE 레이아웃 게시판이 3곳이라는 사실 아시나요? [3] serendip 2010.04.19
개인 웹서버의 완성 우분투 (서버이전완료) [1] 준타 2010.04.07
홈페이지 헤더부분에 display.handler.class.php 오류발생시 급해결방법 [3] file 극마 2009.08.09
웹페이지 메시지 만들기 [초보자대응] [6] file cabnb 2009.12.09
게시판 스타일변경시 406에러 해결방법 우리랑 2010.04.21
윈도우 라이브 메신저를 홈페이지 서명난에 달자 [1] file Diver 2007.11.26