Typecho는 중국인이 개발한 매우 뛰어난 블로그 시스템으로, 코드가 짧고 간단하며 친숙합니다. 최근 Typecho로 구축한 프로젝트도 하나 있어 자연스럽게 이 프로그램에 대해 조금 알아보게 되었습니다. 가장 큰 문제는 역시 가상 정적 규칙이었습니다. 공식적으로 IIS와 Nginx의 가상 정적 규칙을 제공하지 않아, 자료를 검색하고 호환성을 테스트하느라 한참을 애먹었습니다. 다행히 오랫동안 작업한 끝에 수확이 있었고, 아래에 다양한 Web 서버에서 Typecho를 구축할 때 사용하는 가상 정적 규칙을 정리해 올립니다. 여러분이 번거롭게 찾아보지 않도록 하기 위해서입니다.

Apache

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
</IfModule>

Nginx

if (!-e $request_filename) {
    rewrite ^(.*)$ /index.php$1 last;
}

IIS

[ISAPI_Rewrite]
CacheClockRate 3600
RepeatLimit 32
RewriteRule /tag/(.*) /index\.php\?tag=$1
RewriteRule /sitemap.xml /sitemap.xml [L]
RewriteRule /favicon.ico /favicon.ico [L]
RewriteRule /(.*).html /index.php/$1.html [L]
RewriteRule /(.*)/comment /index.php/$1/comment [L]
RewriteRule /category/(.*) /index.php/category/$1 [L]
RewriteRule /page/(.*) /index.php/page/$1 [L]
RewriteRule /search/(.*) /index.php/search/$1 [L]
RewriteRule /feed/(.*) /index.php/feed/$1 [L]
RewriteRule /2(.*) /index.php/2$1 [L]
RewriteRule /action(.*) /index.php/action$1 [L]

이 규칙은 정식 버전 1.1을 기준으로 작성되었습니다. 문제가 있으면 아래에 댓글로 남겨 주세요.