You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MediaWiki 1.29本地部署:常规URL无法访问,需配置启用Ugly URLs

解决MediaWiki 1.29友好URL无法访问的问题

看起来你遇到的是MediaWiki友好URL(Clean URLs)配置不生效的典型问题——毕竟Ugly URLs不需要重写,直接通过参数传递就能工作,而友好URL依赖服务器的URL重写规则和MediaWiki的正确配置配合。下面一步步帮你排查和解决:

1. 确认MediaWiki核心配置是否正确

首先打开你的LocalSettings.php文件,找到$wgArticlePath配置项,确保它设置为:

$wgArticlePath = "/mywiki/index.php/$1";

同时,还要确认$wgUsePathInfo设置为true(这是1.29版本默认值,但最好手动检查一遍):

$wgUsePathInfo = true;

注意:这里的/mywiki/要和你实际的MediaWiki安装目录对应,如果你的wiki是放在服务器根目录下,就改成/index.php/$1。

2. 配置服务器的URL重写规则

这一步是核心,友好URL需要服务器把请求重写到index.php处理,分两种常见服务器说明:

Apache服务器

  • 首先确保Apache已经启用了mod_rewrite模块:可以通过phpinfo()页面查看,或者在终端执行a2enmod rewrite启用,之后重启Apache服务。
  • 在你的MediaWiki安装目录(即mywiki文件夹)下,创建或修改.htaccess文件,添加以下内容:
RewriteEngine On
RewriteBase /mywiki/

# 处理友好URL请求
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

注意:RewriteBase后面的路径要和你的安装目录完全匹配,根目录则写/。

Nginx服务器

如果你用的是Nginx,需要在站点配置文件中添加对应的rewrite规则,示例如下:

location /mywiki/ {
    try_files $uri $uri/ /mywiki/index.php?$args;
}

# 更精准的规则可选:
location ~ ^/mywiki/(?!index.php/).*$ {
    rewrite ^/mywiki/(.*)$ /mywiki/index.php/$1 last;
}

修改完成后记得重启Nginx服务。

3. 检查文件权限

确保你的.htaccess文件(Apache环境下)有正确的读取权限,一般设置为644即可;同时mywiki目录的权限要让服务器能正常访问,建议设置为755。

4. 清除MediaWiki缓存

有时候配置修改后缓存会导致设置不生效,你可以:

  • 手动删除MediaWiki安装目录下cache文件夹内的所有文件(不要删除文件夹本身)
  • 或者通过Ugly URLs访问Special:Purge页面,清除全站缓存

5. 强制使用Ugly URLs(可选)

如果你其实是想直接关闭友好URL、强制使用带?title=参数的Ugly URLs,只需要把$wgArticlePath改成:

$wgArticlePath = "/mywiki/index.php?title=$1";

这样所有页面链接都会自动生成Ugly URLs格式,也就不会出现访问失败的问题了。

内容的提问来源于stack exchange,提问作者The Winter One

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:00:48