제로원:미디어위키 URL

통진고위키
안중원 (토론 | 기여)님의 2020년 4월 5일 (일) 12:10 판 (→‎$wgActionPaths)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
미디어위키 URL에 관련하여 질문이 있거나 오류가 발생하면 토론 문서에 써놓으십시오. 친절한 편집자가 그에 관한 답을 달아 줄 것입니다. 유용한 답은 본 문서에 기재될 수 있습니다.
ZERO-ONE 포털
제로원.png

이 문서는 미디어위키의 URL에 대한 설정을 정리한 것이다.

Short URL

미디어위키 URL에서 index.php 부분을 없애는 방법이다. 미디어 위키에서 설명한 방법(영어)을 토대로 작성하였다. 현재 통진고위키에서의 설정은 다음과 같다.

접속 URL 연결되는 URL
/wiki/* /w/index.php/*

이렇게 하면 기술적 세부내용이 사용자에게 노출되지 않게 하고, 백엔드를 수정해도 안정적이며, 가독성이 높고 기억하기 쉬워 방문자를 유도하기 좋다. 또한 검색엔진 최적화에 유리하다.

통진고위키는 루트 계정으로 접속할 수 있으므로 루트 계정이 있을 때만 쓸 수 있는 비교적 간단한 방법을 사용하였다. 루트 계정이 없을 때 Short URL을 설정하는 방법은 미디어위키(한국어)를 참고하라.

서버 설정

/etc/apache2/sites-available/000-default.conf 파일로 사이트에 대한 설정을 바꿀 수 있다. 이 파일에서 다음 구문을 DocumentRoot 명령 뒤에 써넣는다.
#통진고위키의 미디어위키는 /var/www/html/w에 설치되어 있다.

Alias /wiki /var/www/html/w/index.php
이 구문의 두번째 인자는 미디어위키의 설치 경로이다. 이제 /wiki로 시작하는 URL로 접속할 때 /w/index.php와 같은 화면을 볼 수 있다.

LocalSettings.php

위 설정 후에 위키 내부의 링크를 타고 들어가면 여전히 /w/index.php로 연결되는 것을 볼 수 있다. 위키 내에서도 /wiki로 연결되게 하려면 미디어위키 디렉토리의 LocalSettings.php 파일에서 다음과 같은 변수를 설정해야 한다.
##https://www.mediawiki.org/wiki/Manual:Short_URL

$wgScriptPath = "/w";        // 이미 설정되어 있을 것이다.
$wgArticlePath = "/wiki/$1";
$wgUsePathInfo = true;

$wgActionPaths

LocalSettings.php에서 이 변수는 미디어위키에서 각종 동작의 경로를 바꾸는 변수이다. 미디어위키에서 설명한 방법(한국어)를 토대로 작성하였다.

미디어위키에서는 Short URL을 먼저 설정할 것을 당부하고 있다.

현재 통진고위키는 /wiki/문서 이름/동작[1] 형태의 경로로 작동한다. 이와 같은 설정은 다음으로 할 수 있다.
// 모든 동작에 대해 각각 경로를 설정해준다.
$actions = array( 'edit', 'watch', 'unwatch', 'delete','revert', 'rollback',
  'protect', 'unprotect', 'markpatrolled', 'render', 'submit', 'history', 'purge', 'info' );

foreach ( $actions as $action ) {
  $wgActionPaths[$action] = "/wiki/$1/$action";
}

// 문서 읽기 동작(view)은 뒤에 아무것도 붙이지 않는다.
$wgActionPaths['view'] = "/wiki/$1";
$wgArticlePath = $wgActionPaths['view'];
  1. 예: /wiki/ZERO-ONE/edit