DokuWiki에서 얻은 URL rewrite 힌트

DokuWiki의 매뉴얼에 충실하게 /public_html/doku에 설치를 마치면 다음과 같이 다소 불편한 URL을 통해서 특정 페이지에 접속해야 한다.

http://mydomain.com/doku/doku.php?id=page

이보다는 다음과 같이 주소창을 입력할 수만 있다면 훨씬 편리할 것이다.

http://mydomain.com/doku/page

아파치 웹 서버에 접근할 권한이 없는 일반 웹 호스팅 서비스 사용자라면 다음과 같이 하면 된다. 먼저 doku 디렉토리의 .htaccess에 다음의 내용을 삽입한다.

RewriteEngine On
RewriteRule ^_media/(.*)              lib/exe/fetch.php?media=$1  [QSA,L]
RewriteRule ^_detail/(.*)             lib/exe/detail.php?media=$1  [QSA,L]
RewriteRule ^_export/([^/]+)/(.*)     doku.php?do=export_$1&id=$2  [QSA,L]
RewriteRule ^$                        doku.php  [L]
RewriteCond %{REQUEST_FILENAME}       !-f
RewriteCond %{REQUEST_FILENAME}       !-d
RewriteRule (.*)                      doku.php?id=$1  [QSA,L]
RewriteRule ^index.php$               doku.php

다음으로 DokuWiki 관리 페이지의 고급 설정으로 가서 멋진 URL 사용(userewrite)를 ".htaccess"로, URL에서 이름 구분자로 슬래시 문자 사용(useslash)를 체크하고 저장한다.

아예 http://mydomain.com/page라고 쳐서 접근하고 싶다면, 위 .htaccess를 한 단계 위로 올려서 public_html 바로 아래에 두괴 RewriteBase /doku를 삽입하면 될 것이다. 철저하게 확인해 보지는 않았다.
Comments