Linux,Unix,BSD

dokuwiki rewirte 설정(apache 2.2)

채윤아빠 2010. 3. 11. 22:41
728x90
반응형
서론
dokuwiki를 설치된 그대로 사용하면 URL 구조가 일반 다른 위키와 다른데, 이를 일반적인 위키와 동일한 형태로 설정하여 더욱 유용하게 사용해 보고자 합니다.

기본 설치 후...
dokuwiki를 설치하면 위키 URL이 기본적으로 http://localhost/dokuwiki/doku.php?id=wiki:syntax와 같은 식으로 입력을 해야 위키 페이지가 정상적으로 표시가 됩니다. 위키피디아나 dokuwiki 사이트와 같이 http://localhost/dokuwiki/wiki:syntax 이런식의 주소가 제대로 동작하기 위해서는 apache 환경설정에서 URL을 rewirte해야 합니다.

아파치(apache)에서 rewirte 설정
dokuwiki에 대한 rewrite 설정을 위하여 일단 아파치(apache)에서 rewrite 모듈을 활성화시키고, dokuwiki 디렉토리에 대한 httpd.conf 파일의 설정을 다음과 같이 변경합니다.

LoadModule rewrite_module libexec/apache22/mod_rewrite.so # rewrite 모듈 활성화



Options +FollowSymlinks # 403 오류가 발생할 경우, 입력
AllowOverride All

......

위와 같이 설정을 마쳤으면, 아파치(apache) 데몬을 재시작(/usr/local/etc/rc.d/apache restart)합니다.

.htaccess 파일 설정
/usr/local/www/dokuwiki 디렉토리에서 .htaccess.dist 파일을 .htaccess로 복사한 이후에 다음 부분의 주석을 제거해 줍니다.
RewriteEngine on
RewriteBase /dokuwiki

RewriteCond %{HTTPS} !=on
RewriteRule ^lib/exe/xmlrpc.php$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
#
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 환경설정
마지막으로 /usr/local/www/dokuwiki/conf/local.php에 다음을 추가하여 줍니다.
  $conf['userewrite'] = 1;

결론
설정이 완료되면 http://localhost/dokuwiki/wiki:syntax와 같이 일반적 위키와 동일한 주소 호출 방식을 갖게 되어, 위키 페이지의 접근성을 향상시킵니다.

참고자료