텍스트큐브 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...





