Короткий URL-адрес для установки Mediawiki в корневом каталоге веб-сайта

У меня есть установка Mediawiki, работающая в корневом каталоге моего веб-сайта. Например. на главную страницу можно попасть через

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

Я хотел бы изменить его так, чтобы короткий URL-адрес

http://example.com/Main_Page

Моя конфигурация выглядит следующим образом

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

.

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

Но я получаю ошибку 500 с этой конфигурацией.

Это сервер, где есть папка ~/user_root/. Эта папка содержит общедоступные файлы HTML для корневого домена пользователя, например. user-root.com.

Папка содержит несколько подпапок, например. в данном случае ~/user_root/example, который доступен по указанному выше URL-адресу, example.com.

Основана ли проблема на этой иерархии папок/подпапок и настройке $wgScriptPath? Должен

$wgScriptPath = "..";

заменить чем-то другим, кроме этого относительного пути? Пожалуйста, сообщите, если вам нужна дополнительная информация.


person Gottlieb Notschnabel    schedule 17.09.2014    source источник
comment
mediawiki.org/wiki/Manual:Short_URL/Apache   -  person Prix    schedule 17.09.2014
comment
Вот откуда я пришел, но не смог запустить его в корневом каталоге (соответственно в подкаталоге, который является корнем моего домена).   -  person Gottlieb Notschnabel    schedule 18.09.2014


Ответы (1)


Да, ваш $wgScriptPath неверен. Использовать:

$wgScriptPath = "/";

Ваши правила перезаписи также кажутся маловероятными, что вы хотите, особенно это ^.*$ /index.php (хотя это может быть безвредно, если идти последним).

Если вы используете корневой URL-адрес вместо обычного короткого URL-адреса, вам нужно будет использовать вместо этого следующее (чтобы существующие файлы и каталоги не воспринимались как статья, например, «/index.php», «/images» и т. д.):

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

(Источник)

person Nemo    schedule 09.12.2014