텍스트큐브 1.6부터는 단일 블로그의 경우에는 아파치의 mod_rewrite 를 사용하지 않아도 사용이 가능합니다. 이 경우 예쁜 주소 (http://example.com/entry/테스트글) 는 불가능하지만, 거의 비슷한 형식의 주소 (http://example.com/index.php?/entry/테스트글) 로 사용할 수 있습니다.
이렇게 변경되는 과정에서 텍스트큐브 설치 디렉토리 안의 모든 파일 접근을 텍스트큐브가 관리하기 때문에 기존에 사용하던 텍스트큐브 디렉토리 안의 다른 프로그램 (구글 사이트맵이나 통계용 플러그인) 들이 동작하지 않는 경우가 있습니다. 이 경우에는 텍스트큐브가 설치된 디렉토리 안의 .htaccess의 내용에 몇가지를 추가해서 그 문제를 해결할 수 있습니다.
예를 들어, 텍스트큐브 루트 디렉토리에 sitemap.php가 있는 경우 웹 주소를 통해서 접근하도록 하기 위해서는RewriteBase / 줄 바로 아랫줄에 다음의 두 줄을 추가합니다.
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(sitemap\.php) sitemap.php [L]
첫번째 줄은 그 아랫줄이 실행되기 위한 조건입니다. '만약 요청한 파일이 있다면'의 의미입니다. -f는 파일, -d는 디렉토리입니다. 그 다음줄은 '^(sitemap.php) 이 있으면 뒤의 파일로 이동하고 종료하라' 의 의미입니다. ^()은 정규식인데, 정규식에 관해서는 creorix님이 작성하시는 정규식 강좌를 참조하시면 됩니다.
응용해서, 두 개 이상의 파일일 경우를 작성해 보겠습니다.
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(sitemap\.php|statistics\.php) $1 [L]
sitemap.php이나 statistics.php가 있으면 그 파일을 실행하라~ 는 의미입니다. 정규식 대응때 $1, $2는 앞에 나온 조건의 괄호 하나하나에 차례대로 대응이 됩니다.
참 쉽죠?
Trackback URL : http://howto.textcube.org/trackback/16
-
Rewrite Rule 바뀐 Textcube 1.6 에서 Trace Watch 사용하기
Tracked from April Breeze... 2008/03/23 01:56
텍스트큐브 1.6 을 Document Root 에 설치한 경우 Trace Watch 를 정상적으로 사용할 수 없습니다.(/blog, /tc 등의 디렉토리에 설치한 경우라면 상관없습니다.)TC 1.6 부터 mod_rewrite 관련해서 구조가 바뀌었기 때문이고, 정상적으로 사용을 하기 위해서는 .htaccess 파일을 수정해줘야합니다.먼저 수정 방법부터 말쓰드리면,.htaccess 파일을 열어서 아래에 bold 로 표시한 부분을 추가해주면 됩니다.R...






당신의 의견을 작성해 주세요.
Creorix 2008/01/11 20:23 편집/삭제 댓글 작성 댓글 주소
이건 inureyes님께서 제게 정규식 강좌를 빨리 쓰라고 무언의 압박을 가하시는 것 같군요 ^^;; 조만간 draft 상태로 있는 2번째 강좌를 손봐서 올려놓도록 하겠습니다
lunamoth 2008/01/11 19:24 편집/삭제 댓글 작성 댓글 주소
좋은 팁 감사드립니다. 아래 처럼 하면 루트 경로의 파일, /bbs 로의 접근이 가능하게 되는건지요?
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.*) $1 [L]
RewriteCond %{REQUEST_FILENAME} /bbs
RewriteRule ^(.*) - [L]
Creorix 2008/01/11 20:27 편집/삭제 댓글 작성 댓글 주소
아, 그리고 한 가지 잘못 쓰신 것이 있어서 수정 부탁드립니다. (사실 이 실수는 저도 자주 하는지라;;; )
^(sitemap.php)에서 .도 패턴이기 때문에 \.로 이스케이프 해주는 것이 맞습니다. 그렇지 않으면 sitemap.php 뿐만 아니라 sitemapaphp와 같은 것도 매치되겠지요. 물론 다음 패턴인 ^(sitemap.php|statistics.php)도 ^(sitemap\.php|statistics\.php)로 고치는게 맞습니다.
inureyes 2008/01/12 17:49 편집/삭제 댓글 주소
옙 수정했습니다. 감사!
(흑흑 매일 빼먹거나 해서 요새 낭패를 보는 중입니다...)
티아 2008/01/17 16:53 편집/삭제 댓글 작성 댓글 주소
개발에 고생이 많으십니다.^^
이제 베타3으로 진입을 막 하렵니다.^^;
여러가지루 한번 내일아침 도전시도~~
성공을 빌면서.^^
좋은 하루 되십시요^^
GNUNIX 2008/02/19 23:30 편집/삭제 댓글 작성 댓글 주소
정말 재미있게 잘 설명해 놓으셨네요
제가 쓴 글은 지루하던데 말입니다 ㅠㅠ
드림투유 2008/03/02 20:31 편집/삭제 댓글 작성 댓글 주소
아. 감사합니다. ^^
이번에 텍스트큐브1.6 깔면서 갑자기 서브디렉토리로 만들어놓은
사이트가 접속이 안돼서 난감했었는데, 이제 되네요.
Arashiel 2008/03/09 10:03 편집/삭제 댓글 작성 댓글 주소
트랙백 감사합니다. 해결했습니다. ^^;
April Briz 2008/03/14 13:23 편집/삭제 댓글 작성 댓글 주소
여기 트랙백이 날라가질 않아요~
/lib/model/blog.trackback.php 의 248번째 줄에서 send 한후에 $request를 보면 responseText 에 아무 내용도 안들어있습니다...;