MediaWiki 的伪静态设置

Apache 环境

一共两步。

首先,在网站根目录找到或新建 .htaccess 文件,键入以下内容。
如果你的 Wiki 程序位于根目录,则
(警告 由于我的 Wiki 程序不在根目录,我没有对下面的代码进行过测试,请自行测试)

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/(.*)$ /index.php?title=$1
RewriteRule ^/*$ /index.php
RewriteRule ^(.*)$ /index.php

假设你的 Wiki 程序位于某目录 /wiki 下,则

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^wiki/(.*)$ wiki/index.php?title=$1
RewriteRule ^wiki/*$ wiki/index.php
RewriteRule ^wiki$ wiki/index.php

接着,打开你的 Wiki 程序下的 LocalSettings.php ,在末尾或你喜欢的位置加上
如果你的网站在根目录下,请删去/wiki

$wgArticlePath = "/wiki/$1";
$wgUsePathInfo = true;

打开你的网站测试。
若有问题,请回滚上述步骤。
祝你好运。

Nignx

以下内容转载自Nginx安装Mediawiki后的伪静态设置 | 桜庭清夏的小站,以知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议录入。与原文相比,本文着重针对伪静态逻辑的书写进行排编。

假设 Mediawki 安装在网站根目录。

伪静态内容如下:

location ~ ^\/.+$ {
    if ($request_uri ~ ^/images) { break; }
    if ($request_uri ~ ^/resources) { break; }
    if ($request_uri ~ ^/index\.php) { break; }
    rewrite ^/(.+)$ /index.php?title=$1 last;
}

随后在LocalSettings.php中寻找到

$wgScriptPath = "";

找到后在下面添加以下内容:

$wgArticlePath = "$wgScriptPath/$1";

重载 Nginx 即可完成伪静态配置。

添加新评论