웹마스터 팁

제목이 주절주절 길군요.

질문 & 답변란을 보니 이와 관련된 물음이 많던데 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
제목 글쓴이 날짜
개인 웹서버 백업 및 게시물 등록 날짜 수정 방법 [10] file eunbini 2008.10.24
회원 정보에 내 포인트 현황 출력하기 [3] file 화랑529 2013.01.08
xpresseditor 사용시 첨부파일 본문삽입 중복되는 문제 수정. [13] file misol 2012.01.31
XE 1.5.1 로 사이트 꾸미기 Part 3. [22] file 황비 2011.12.06
ShopXE 상품 첨부 - 상품이미지 등록시 첨부 용량 초과 에러 수정 hhgyu 2013.02.05
로그인 스킨 수정 팁 - 신규 쪽지 수 보여주기 [17] file 러브스킬 2010.05.03
모바일 페이지모듈에서 스킨 설정안 되는 버그 수정법 [2] sejin7940 2013.01.08
Database, MySQL 이 무엇인가~~~ ^^ [103] zero 2000.03.06
[PHP 기초] PHP 소개 [6] 난다날아 2011.03.22
푸시알림 "유메시지" 지원 소스 및 그룹 메시지 지원합니다. [13] file 유키패드 2012.07.12
NAVER Analytics 모듈 1.5.4.X 에서 사용하기 hhgyu 2013.01.30
1.5.4 회원정보에서 회원이 자기 이름 마음대로 수정 못하게 하는 거... [2] 샤로우 2012.12.31
위젯 <td> 마다 다르게 배경색 지정.. [1] 제임스라 2012.11.30
[Social XE] Social XE 댓글위젯에 SNS 전송 옵션 체크박스 추가하기 [14] file TUW 2013.01.24
TEXTYLE 카테고리 안 보이는 분들 참고하세요 사자쭈꾸미 2013.01.24
TEXTYLE 파일 업로드 안되는 분들 참고하시기 바랍니다. 사자쭈꾸미 2013.01.24
본문내 이미지 조절 애드온 기능 확장 - 원본이미지 모달 제거 / 작은이미지 크게 확장하기 [2] sejin7940 2012.11.25
사이트 주소로 접속했을때 XE 폴더로 이동하기 팁 [42] 베니 2007.08.16
Contact us 체크박스 및 전화번호가 array로 나오는 거 패치 [9] hhgyu 2012.03.27
페이지 제일 위로 바로가는 Top 버튼 [5] file 개돌 2009.06.26