웹마스터 팁

제목이 주절주절 길군요.

질문 & 답변란을 보니 이와 관련된 물음이 많던데 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
제목 글쓴이 날짜
[생초보팁] 서브메뉴 배경이미지 활용하기 [4] file 에혀라X 2010.11.24
개인 홈페이지에서 아주 손쉽게 배경음악을 깔아놓는 법 [5] 지녁 2010.11.25
텍스타일 (Textyle) 에서 첨부파일 용량 제한 늘리는 방법. [1] sejin7940 2010.11.27
게시물 하단에 예쁜 추천,비추천 아이콘 버튼 추가하기~ [12] file xemall 2010.11.28
최근문서 or 콘텐츠 위젯 공지글 뽑아오기 [8] Xiso 2010.11.29
[생초보팁] 페이지 내용 줄간격 css 에혀라X 2010.11.30
호스팅비 돈아낍시다. 하나의 XE 다중 도메인 사용하기. [10] kimnada 2010.12.02
[생초보팁] 회원가입시 홈페이지 블로그주소 않나타내기 ㅋ [4] 에혀라X 2010.12.05
새로운 채팅 서비스 웹톡! [3] file 명랑폐인™ 2010.12.06
어느게시판이든 모두 적용이 가능한 그림판입니다.^^ [1] web 2010.12.07
ftp나 mysql 암호 변경시 일어나는 ''db 접속시 에러' XE 샷타이거 2010.12.08
플래시로 만들어진 글자 타이핑보고 만들었어요. web 2010.12.09
사이트 모니터링 알리미에요...^^ [3] file web 2010.12.10
[생초보팁] 페이지(page) 줄간격과 부분 웹폰트 에혀라X 2010.12.11
[생초보팁] 웹진최근게시물 요약글 링크걸기 [1] file 에혀라X 2010.12.12
[생초보팁] 레이아웃 수정시 HTML 넣는 칸 넓히기 -_- 에혀라X 2010.12.12
메인화면에 설문조사 위젯(?) 만들기 [3] file 3D매니아 2010.12.14
1.4.2.3 에서 1.4.3 이상 버전으로 업그레이드 시 백지화면 해결팁 [4] 2년후 2010.12.15
외부페이지를 레이아웃에 결합시 상단 마진폭이 벌어지는 문제 해결방법 [6] file DuRi 2010.12.17
심플한 XML 플래시 이미지 갤러리 [7] file maxtabby 2010.12.21