php – 在Mediawiki中拥有小写页面标题

我正在
here.建立一个Mediawiki

它没关系,但现在我想要一些文章来记录以小写字母开头的内容,例如Unix命令:“man”,“chmod”,“ls”,“iPod”等.我不知道我希望他们出现像Mediawiki尝试使所有页面标题和文章标题以大写字母开头.

此外,我不希望搜索区分大小写.我想搜索“苹果”来找到“Apple”等.

我相信我已经按照web page.的说明进行了不区分大小写的搜索

我相信这很好,但我对我必须要做的事情有点娇气:

>更改数据库表_pages的结构,将页面标题的类型更改为VARCHAR(255),并将整理排序更改为一种utf-8不区分大小写.
>向globalFunctions.php添加全局函数.
>更改wiki皮肤中的php代码.

看起来这应该只是LocalSettings.php中的php变量

但这一切似乎都有效.我的意思是,我可以输入“apple”,它会找到关于“Apple”的文章,而不是提示我创建一篇名为“apple”的新文章.

但是后来,我注意到页面标题仍然是大写的,比如新文章,例如关于“chmod”的文章.

我回去谷歌搜索,我发现一个网页,据说使用名为的Mediawiki全局变量:

$wgAllowDisplayTitle = true;

并且这会让我使用以下模板:

{{DISPLAYTITLE命令:chmod}}

http://www.learnbymac.com/wiki/index.php?title=Chmod

这部分有效.文章的标题现在是“chmod”,但实际上,在数据库中标题仍然是“Chmod”,这不会那么糟糕,但是当我进入类别“Unix”时,所有的Unix命令都显示出来以大写字母开头.

我在Mediawiki网站上看到,不允许用任何语言开始一个带小写字母的页面标题.

我希望我的维基上的东西就像它们在我的Mac上,不是区分大小写,而是保留大小写.

我知道Mediawiki必须考虑世界上的每种语言,但我不这么认为.

我真的不想进一步修改我的Mediawiki数据库的结构,但也许这就是所需要的.我只是注意到,不仅类别页面中的页面标题错误,而且在编辑页面时标题中的页面标题也是错误的.

Here’s指向列出错误案例中标题的类别的链接:

– -编辑 – –

我想到了.我相信现在好了.我在我的Mediawiki配置文件中缺少以下行,名为“LocalSettings.php:.

# disable first-letter capitalization of page names
$wgCapitalLinks = false;

我知道我第一次进入这个.我相信所发生的事情是我的本地文件系统中保存的更改,而不是由我的文本编辑器通过ftp保存到我的网站.

最佳答案 如您所述,设置$wgCapitalLinks = false;在LocalSettings.php中可以做到这一点.如果你的wiki中已有页面,你可能也想运行维护脚本CleanupCaps:
http://www.mediawiki.org/wiki/Manual:CleanupCaps.php

对于第二个问题:要使搜索大小写不敏感,可以使用TitleKey扩展(http://www.mediawiki.org/wiki/Extension:TitleKey).
它很稳定,可用于许多主要维基.如果您想要更好地控制行为,还可以插入Lucene serach引擎(http://www.mediawiki.org/wiki/Extension:MWSearch)

点赞