2014-09-17 2 views
3

웹 루트에 Mediawiki 설치가 실행 중입니다. 예 : 메인 페이지는 짧은 URL이웹 루트에 Mediawiki를 설치하기위한 짧은 URL

#.htaccess 
Options +FollowSymLinks 
RewriteEngine On 
RewriteRule ^(.*)$ /index.php?title=$1 [PT,L,QSA] 
RewriteRule ^.*$ /index.php [L,QSA] 

를 다음과 같이 내 구성은

http://example.com/Main_Page 

수 있도록 내가 그것을 변경하려면

http://example.com/index.php?title=Main_Page 

을 통해 액세스 할 수 있습니다.

// LocalSettings.php 
$wgScriptPath = ".."; 
$wgArticlePath = "/$1"; 
$wgUsePathInfo = true; 

하지만이 구성에서는 500 오류가 발생합니다.

이 서버는 ~/user_root/ 폴더가있는 서버입니다. 이 폴더는 사용자의 루트 도메인에 대한 공개 HTML 파일을 포함합니다 (예 : user-root.com.

폴더에는 여러 개의 하위 폴더가 있습니다. 이 경우 위에 언급 된 URL example.com을 통해 액세스 할 수있는 ~/user_root/example입니다.

이 폴더/하위 폴더 계층 구조와 $wgScriptPath 설정에 따라 문제가 있습니까?

$wgScriptPath = ".."; 

은이 상대 경로 이외의 것으로 대체해야합니까? 자세한 정보가 필요하면 조언하십시오.

+0

http://www.mediawiki.org/wiki/Manual:Short_URL/Apache – Prix

+1

그건 내가로부터오고, 이에 얻을 수있는 곳이다 운영 그것은 루트 디렉토리 (각각 내 도메인의 루트 인 서브 디렉토리)에 있습니다. –

답변

4

예, 사용자의 $wgScriptPath이 잘못되었습니다. 사용

$wgScriptPath = "/"; 

귀하의 재 작성 규칙은 또한 당신이 원하는 무엇을 할 가능성이 보인다, 특히 그 ^.*$ /index.php (무해 할 수도 있지만, 마지막 예정). 대신 보통 짧은 URL의 루트 URL을 사용하는 경우

당신은 /images "등"예를 들어, 대신 다음 (즉, 기존 파일을 보장하고 디렉토리가 기사로 보이지 않는 사용 "/index.php"를해야합니다 .) :

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f 
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d 
RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/w/index.php [L] 

(Source)

+0

저, 고마워요! –