웹마스터 팁

제목이 주절주절 길군요.

질문 & 답변란을 보니 이와 관련된 물음이 많던데 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
제목 글쓴이 날짜
도메인 변경 또는 설치 폴더 변경시 이미지 주소변경하기 file 해피정닷컴 2018.06.08
.htaccess 를 이용해서 도메인 접속시 xe폴더로 자동 이동 시키기 [3] file Double'U' 2014.09.25
FTP로 폴더가 삭제가 안될때~! [6] file 웹엔진 2012.01.30
사이트접속시 제로보드XE폴더로 이동되게 하는 쉬운방법 [8] 부찬™ 2007.08.17
화일첨부 디렉토리의 빈 폴더 삭제... [13] 카르마 2012.01.20
XE 설치 시 안전한 폴더권한 설정하기 (chown 사용) 컴토피아 2014.08.07
사이트 주소로 접속했을때 XE 폴더로 이동하기 팁 [42] 베니 2007.08.16
홈페이지 접속시 XE를 바로 실행하기(XE를 /xe/ 폴더에 설치한 경우) [5] Firstlove 2011.06.12
XE 를 루트로 옮기는 방법과 문제 대응책 정리 (도메인 접속시 xe폴더로 이동 없이 바로 사이트 뜨게 하기) [8] file Gekkou 2009.12.06
grep로 하위 폴더내 파일까지 내용 검색하기 fsfsdas 2011.02.20
wo.to (유료서버) 의 아파치 폴더 인증 방법. 이성헌 2005.12.15
네임서버 설정 ver.1 [/etc 폴더편] [2] 손택수 2002.10.24
제로보드 data 폴더 일괄적으로 소유권 변경 스크립트 [2] 라지엘 2002.07.01
[리눅스]proftp 에서 사용자가 상위 폴더로 이동을 못하게... [3] teenteenv 2002.02.22
웹 계정에서 지워지지 않는 폴더 및 파일 삭제하는 방법 [3] Rising.kr 2008.01.24
폴더에 사진올려놓고 리스트자동으로 만들기 [7] 김인기 2004.02.22
[추천 팁] 폴더내의 파일중에서 특정정보만 뽑아오기. [2] M2Vis 2002.07.12
폴더에 올린 mp3를 자동으로 podcast로 만들어주는 소스... ^^ [2] 하얀마법 2010.09.11
files 폴더안의 cache 폴더/파일 1초만에 지우기 [3] 999 2010.06.21
설치하여 사용 중이던 XE의 폴더 옮기기 [1] file 영구만세 2009.12.02