删除默认不存在的页脚链接

Gch*_*htr 6 user-interface mediawiki

我在本地网络上安装MediaWiki时遇到问题.我在德语中使用MediaWiki.我的wiki中有几个页脚链接,会产生404错误.例如,在页脚中有一个链接Impressum(英文:Disclaimer).它指出*NameOfMyWiki*:Impressum哪个不存在.

当我去MediaWiki:Disclaimers,然后免责声明出现,这是应该落后的页面*wgSitename*:Impressum.我认为我不打算将免责声明链接指向MediaWiki:Disclaimers.

可能基于同一问题的另一个行为是,当用户页面仍为空/尚未创建时(点击设置旁边右侧的链接),用户在自己的用户页面上获取404.当另一个用户编辑第一个用户的用户页面时,第一个用户也可以访问和编辑它.但是当它仍然是空的/未定义时.

我该如何解决这个问题?

Ilm*_*nen 9

页脚链接文本来自界面消息MediaWiki:Privacy,MediaWiki:AboutsiteMediaWiki:Disclaimers.要禁用这些链接中的一个或多个,请将相应的链接文本设置为单个连字符(-).

或者,从MediaWiki 1.17开始,您还可以通过在LocalSettings.php中定义一个钩子来修改页脚.

PS.对于有兴趣一直到源的人来说,处理这些链接的代码在Skin :: footerLink()方法中.通过设置相应的消息来禁用各种界面功能的做法-实际上在MediaWiki中非常常见(尽管不是通用的); 由于历史原因,完全空白的消息有点奇怪,所以-通常用作"无价值"的替身.


编辑:我刚刚注意到你还问了关于用户页面的第二个问题.为了更好地回答这个问题,让我首先描述MediaWiki 应该如何处理不存在的页面:

  • 当MediaWiki看到wikilink(导航菜单中的大多数,但不一定全部,链接也以相同的方式处理)指向不存在的页面时,它会创建所谓的红色链接.这些链接的样式与普通链接不同(通常它们是红色的,因此是名称),并指向一个类似于此的URL ,带有参数action=edit(使其成为一种特殊的编辑链接)和redlink=1.

  • 当用户点击此类链接,该页面已没有在平均时间创建链接到MediaWiki首先检查,并且,如果它一直没有,也允许用户创建和编辑它:

    1. 如果页面存在,则仅将用户重定向到页面的普通视图URL.

    2. 如果页面不存在,并且不允许用户创建它,则它们也会被重定向到普通视图URL,然后返回HTTP 404状态代码和一条消息,指出该页面不存在.(如果您单击上面的"喜欢这个"链接,将会发生这种情况,除非您恰好是维基百科上的管理员.)

    3. 最后,如果页面不存在但允许用户创建它,MediaWiki只会将URL视为普通编辑链接并显示编辑表单.

看起来,出于某种原因,新用户单击wiki上他们自己的用户页面的链接会触及上面的案例2而不是预期的案例3.这可能是用户权限问题:特别是,您应该检查正常记录-in userwiki上的用户(组)拥有该createpage权限.

如果你想允许普通用户创建他们自己的用户页面,有办法做到这一点,但我所知道的只涉及安装扩展或编写你自己的getUserPermissionsErrors钩子.如果你愿意,我可以给你一些如何做的例子,但它需要一些编码.