웹마스터 팁

제목이 주절주절 길군요.

질문 & 답변란을 보니 이와 관련된 물음이 많던데 index.php같은 파일을 이용해서 리다이렉션을 하라는 답글이 대부분이라서 팁을 남깁니다.

블로그에 올린 내용이라 반말인건 이해해주세요.


초보자용. HOW-TO


1) htaccess 파일을 만듭니다. (윈도우에선 .htaccess라는 파일을 그냥 생성하실 수 없으니까 그냥 htaccess를 만들겠습니다.)

2) 파일에 다음과 같은 내용을 기입합니다.

RewriteEngine On
RewriteRule ^/$ ./zbxe/index.php?mid=blog [L]
RewriteRule ^$ ./zbxe/index.php?mid=blog [L]

단, 노란색 표시가 있는 것은 자신에 맞게 적당히 바꿔주셔야 합니다. zbxe -> 자신의 제로보드 XE 디렉토리 경로, blog -> 처음 보여질 모듈(페이지/게시판/블로그의 mid값.)

그리고 저장합니다.

3) 계정을 FTP로 접속합니다. 웹페이지가 놓이는 최상단 디렉토리로 들어가서 htaccess 파일을 업로드합니다.

4) 업로드한 htaccess 파일이름을 .htaccess로 고칩니다.

5) 테스트를 해봅니다.


주의: 이 팁을 사용했을때 파일이름까지 정확하게 기입되지 않은 하위디렉토리들은 더이상 index.html이나 index.php를 참조하지 못하게 됩니다. 예를 들어 루트아래에 /temp 라는 폴더가 있고 그 안에 index.html이라는 파일이 있다고 하더라도 정확하게 /temp/index.html이라고 기입해주지 않으면 제로보드 XE 모듈로 판독해버리게 됩니다. 주의하세요.




Rewrite Mod를 이용하여 사이트 주소로 접속했을때 XE 폴더로 이동하기

제로보드 XE를 쓰다가 처음 알게 된 것이 mod_rewrite, RewriteEngine(Rewrite Mod.)이라는 것이다. 예전에 어떤 사이트를 보다가 해당 경로에 아무런 파일이 없음에도 어떻게 그 URL이 유효하게 되는지 굉장히 궁금했는데 알고보니 Rewrite MOD를 사용하는 것이었다.

예를 들어 이 사이트의 html 루트 폴더에는 index.php도 index.html도 index.htm도 존재하지 않는다.(비슷한 어떤 파일도 없다.) 하지만 유저들은 http://www.digist.co.kr이라는 주소만 타이핑하는 것으로 접속이 가능하도록 되어 있는데 이것은 .htaccess라는 파일안에 기술되어 있는 정보를 이용하게 되어 있다.

rewrite mod를 모든 호스팅 업체에서 사용할 수 있는 것은 아니기 때문에 반드시 작동되는 내용은 아니지만 제로보드 XE 사이트를 보면 관련된 질문도 많고 해서 예를 올린다.

 RewriteEngine On

RewriteEngine 을 사용하기 위해 .htaccess 첫 부분에 위와 같이 선언한다. 그리고 그 아래에 여러가지 RewriteRule을 기술할 수 있다. RewriteEngine에는 RewriteRule이외에도 많은 지정자를 넣어줄 수 있는데 여기선 그냥 RewriteRule로 특정 디렉토리의 포워딩에 대해 알아본다.

RewriteRule ^/$ <보여질 주소> [L]
RewriteRule ^$ <보여질 주소> [L]

위 의 두 줄은 html 루트에 접근했을 때 어떻게 하는가를 보여준다. [L]은 이 조건을 만족하여 URL을 Rewrite했을때 더이상 .htaccess의 내용을 파싱하지 않고 종료하라는 지정자이다. (여기에도 여러가지를 써줄수 있다. 심화된 내용을 원한다면 Apache 매뉴얼을 보길 바란다.)

앞에 쓰여진 ^/$는 'http://www.domain.com/'이란 주소로 입력 되었을 때를 위한 처리이다. 두번째의 ^$는 /를 마지막에 붙이지 않고 그냥 'http://www.domain.com'으로 접속했을 때의 처리.

그 런 관계로 루트에 접속하면 뒷 부분에 기록된 주소로 보내지게 된다. 경로는 상대 경로, 직접 경로가 모두 가능하며 이것을 잘 이용하면 사이트를 공사중일때 임시로 .htaccess만 고쳐서 index 페이지를 다르게 보이는 방법이 가능해진다.

제로보드 XE를 기준으로 위의 Rewrite Rule을 적용시키면 아래와 같다.

RewriteRule ^/$ ./zbxe/index.php?mid=(초기 mid값) [L]
RewriteRule ^$ ./zbxe/index.php?mid=(초기 mid값) [L]

만일 처음 보여질 모듈 이름이 blog라면 그냥 'mid=blog'라고 써주면 된다.

이것들을 잘 이용하면 그림의 무단 링크를 불가능하게 만들수도 있고 특정 폴더내의 내용을 다른 호스트로 분리시키면서도 같은 호스트내에 위치하는 것처럼 눈속임을 할 수 있다.

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?digist.co.kr(/)?.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?digist.co.kr(/)?.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?venister.cafe24.com(/)?.*$ [NC]
RewriteRule .*\.(gif|jpg|jpeg|bmp)$ http://www.digist.co.kr/blocked.png [R,NC]

위 의 예는 그림 파일의 직접적인 외부링크를 막기 위해 사용한 룰이다. RewriteCond같은것을 소개해야 하니 자세한 설명은 패스. 여튼 gif, jpg, jpeg, bmp 파일 같은 것이 사이트 외부로부터 들어오면 특정 이미지를 흘려 보내는 방법이 되겠다.





원문의 주소: http://www.digist.co.kr/bbs/64539
제목 글쓴이 날짜
제로보드 XE - 오토셋에 설치하기 [11] file 차오이 2007.08.11
윈도우에서도 svn을 이용하자.. [2] LSH5243 2007.08.13
SVN 자료 바로바로 업데이트 해보자. [3] DroArc 2007.08.13
서버에서 zeroboard XE 쉽게 다운로드 받고 업데이트 하기 [2] Dr.Mabin 2007.08.13
Mysql 4.0 버전에서 xe 설치해서 사용하기 [3] amamamam.myid.net 2007.08.13
좌측 메뉴 하단에 애드센스를 탑재해 보자! [5] migojarad.myid.net 2007.08.13
로그인 안되시는분들 참고 [8] 화니478 2007.08.14
로고 만들기 귀찮을떄 [2] 정지훈308 2007.08.14
포트 변경 후 XE 사용이 안 되면 류현留賢 2007.08.14
상단 로고부분 공간 늘릴려면... [3] 똑디 2007.08.14
설치 후 로그인 불가능 문제 해결방법 [14] 엘핀라즈 2007.08.14
최신글 뽑아오기 - 간단한 방법 [3] file Eric2ya 2007.08.14
최근글 및 카운터 로그인등등.. 모르시는분있을꺼라고 생각해서올려요 [7] file 장재혁512 2007.08.15
공백으로 보이는 문제 해결 방법 (프레임, 메타태그, 포워딩등) [21] ZK™ 2007.08.15
zbXE게시판 상단 내용처럼 꾸미기... [12] 이승수961 2007.08.15
외부에서 회원정보 불러오기 [5] 미오유 2007.08.15
공개 소스 웹 디자인 [6] 나라비 2007.08.15
음악플레이어를 달고싶으세요? [13] 부찬™ 2007.08.16
사이트 주소로 접속했을때 XE 폴더로 이동하기 팁 [42] 베니 2007.08.16
4차 서브메뉴 사용하기!! [4] [1] file 럭키587 2007.08.17