У меня установлена инсталляция 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 = "..";
заменить чем-то другим, чем этот относительный путь? Пожалуйста, сообщите, если вам нужна дополнительная информация.
Да, ваши $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]
(Источник)
Других решений пока нет …