从 MediaWiki 操作 URL 中删除 index.php

2024-01-17

好的,所以它相当有据可查 https://stackoverflow.com/questions/6667847/mediawiki-removing-index-php-from-url如何隐藏 url 中的 index.php?title= 位,但我想要的是为所有操作类型链接隐藏它,类似于扩展程序的方式短网址 http://www.mediawiki.org/wiki/Extension%3aShortLinks应该可以工作(它不在我的网站上,我不知道如何修复它)。我无权访问 .htaccess,并正在考虑通过向 common.js 页面添加一些 javascript 或修改 ShortLinks 扩展来实现此目的,但这些挂钩的文档不是很好,我尝试的任何内容都不是帮助。


基本上,您需要添加一个条目$wgActionPaths //www.mediawiki.org/wiki/Manual%3a%24wgActionPaths对于您想要使用短 URL 的每个操作。

例如,如果您想要页面的普通查看 URLFoobar to be /wiki/Foobar,编辑和历史 URL 为:/wiki/edit/Foobar and /wiki/history/Foobar,您可以将以下行添加到 LocalSettings.php 中:

$wgArticlePath = '/wiki/$1';
$wgActionPaths['edit'] = '/wiki/edit/$1';
$wgActionPaths['history'] = '/wiki/history/$1';

当然,您还需要配置您的网络服务器,将对这些短 URL 的任何请求重写回 MediaWiki 可以理解的内容,例如在 Apache 上使用 mod_rewrite。我上面链接的文档页面有一些有用的示例。


更一般地说,您可以使用任意方式转换 MediaWiki 生成的 URL获取本地URL //www.mediawiki.org/wiki/Manual%3aHooks/GetLocalURL or GetLocalURL::内部 //www.mediawiki.org/wiki/Manual%3aHooks/GetLocalURL%3a%3aInternal钩。 (这两个钩子之间的主要区别在于 GetLocalURL 钩子也为跨维基 URL 调用。)这些钩子是从标题::GetLocalURL() https://github.com/wikimedia/mediawiki-core/blob/edbd8ea6b32d8859ef8e1f77ba6d0e43afaea06e/includes/Title.php#L1637,您可能想看看它们是如何工作的。

例如,以下是如何将 diff URL 转换为以下格式/wiki/diff/revA/revB/Page_name:

function prettyDiffURLs( $title, &$url, $query ) {
    if ( preg_match( '/^diff=(\w+)&oldid=(\w+)$/', $query, $matches ) ) {
        $dbkey = wfUrlencode( $title->getPrefixedDBkey() );
        $url = "/wiki/diff/$matches[1]/$matches[2]/$dbkey";
    }
    return true;
}
$wgHooks['GetLocalURL::Internal'][] = 'prettyDiffURLs';

(警告:我相信这段代码应该可以工作,但我还没有测试过!)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 MediaWiki 操作 URL 中删除 index.php 的相关文章

  • MediaWiki的安装与使用

    文章目录 操作环境与相关配置信息 操作环境 配置信息 软件安装 运行MediaWiki容器 运行MySQL 使用MediaWiki连接MySQL 使用docker compose 操作环境与相关配置信息 操作环境 操作系统 root mas
  • 如何在 MediaWiki 数据库中进行重音和不区分大小写的搜索?

    假设我的 wiki MediaWiki 1 19 4 中有这些页面标题 SOMETHIng S meth ng Som th ng S metH nG 如果用户搜索something我希望所有 4 页都作为结果返回 目前我唯一能想到的是这个
  • 将许多文本文件批量上传到 MediaWiki

    我有很多文本文件想要上传到运行 MediaWiki 的 wiki 我什至不知道这是否真的可能 但我想尝试一下 每个文本文件的名称将是 wiki 页面的标题 一个文件对应一个 wiki 页面 我想上传程序所在文件夹中的所有文本文件 也许要求你
  • 增强 MediaWiki 搜索

    我只是想知道是否可以增强 MediaWiki 中的搜索功能 例如返回最接近搜索键的建议结果集 而不是返回 0 个结果页面 例如 我创建了 ff 文章 Guidelines to Database Management Guidelines
  • 如何检查用户是否在不同应用程序中登录 mediawiki?

    情况如下 我有一个 Mediawiki 安装 以及一些额外的服务器端脚本 这些脚本需要更多资源并且已经用不同的语言 python 编写 python 代码将与 Mediawiki 代码非常松散地耦合 只能通过单击此处或那里的链接来调用 我想
  • 如何仅通过一个帐户访问我的多语言-MediaWiki?

    我有几个不同语言的维基 如下所示 de myPage org en myPage org es myPage org 我必须使用不同的帐户名和密码登录每个帐户 一旦我更改子域 我就会被注销 登录信息不会被我带走 我在 1 台服务器上使用 3
  • 语义 mediawiki #ask 查询:在同一查询上显示嵌套属性

    我想在与我查询的页面相关的页面的相同查询属性中显示 假设我想查询 城市 类别中位于德国的所有页面 并且我想显示页面标题 而且我还想显示德国的表面数据 像这样的东西 ask Category City location Germany mai
  • mediawiki mathjax需要使用转义$x$

    我将 MediaWiki 与 MathJax 一起使用 因为很多页面都有数学方程 但在某些页面上 我还需要按原样显示字符串 x 有什么办法可以转义 x 这样它就不会调用 MathJax 并显示为斜体 x 吗 MathJax 支持 来转义表达
  • 如何在Python中分割大型维基百科转储.xml.bz2文件?

    我正在尝试使用 Python 使用 wikimedia 转储文件 xml bz2 构建离线维基词典 我开始于this http users softlab ece ntua gr ttsiod buildWikipediaOffline h
  • 使用 Wikimedia API 获取位置

    如何使用 Mediawiki API 获取 Wikipedia 文章的城市 国家位置 假设我想确定圣家族大教堂位于哪个国家 哪个城市 我应该使用什么属性 尝试以下查询 And see 扩展 地理数据 https www mediawiki
  • 如何在Python中对维基百科类别进行分组?

    对于我的数据集的每个概念 我都存储了相应的维基百科类别 例如 考虑以下 5 个概念及其相应的维基百科类别 高甘油三酯血症 Category Lipid metabolism disorders Category Medical condit
  • 如何使用维基词典 API 获取发音数据? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我一直在寻找一种通过查询某种 API 来获取任何给定单词的发音的方法 作为维基词典 http en w
  • 如何通过维基百科 API 获取特定部分的文本

    我只想从维基百科页面中提取特定部分 例子 我想从维基百科文章 House 的 Parts 部分中提取文本 https en wikipedia org wiki House https en wikipedia org wiki House
  • 如何从维基百科获取信息框数据?

    如果我有某个页面的 URL 我如何使用 MediaWiki Web 服务获取右侧的信息框信息 通过此 Python 库使用 Mediawiki API https github com siznax wptools https github
  • 如何从维基百科中获取纯文本

    我想编写一个仅获取维基百科描述部分的脚本 也就是说 当我说 wiki bla bla bla 它将转到维基百科页面为bla bla bla http en wikipedia org wiki Bla Bla Bla 获取以下内容 并将其返
  • 在哪里可以获得 MediaWiki 的模板?

    我注意到很多基于 mediawiki 的网站都使用 Robelbox Ambox 等模板 我在哪里可以获得它们以及如何安装它们 It s a PITA http www urbandictionary com define php term
  • 在 MediaWiki 中,有没有办法可以将 [[Image:]] 样式调整大小应用于外部图像?

    MediaWiki 有一个很好的内置方法来处理图像的显示 例如从http www mediawiki org wiki Help 图像 http www mediawiki org wiki Help Images File MediaWi
  • 使用 Python 更新媒体 wiki 文章?

    你好 我有一个 cron 作业 它收集有关服务的一些统计信息 我需要 cron 作业以编程方式更新媒体 wiki 页面 附加到页面 我在 cron 中使用 python 那么我最好的选择是什么 是否有 mediawiki python 库的
  • 使用命令行将 MediaWiki 维基文本格式转换为 HTML

    我倾向于编写大量文档 因此 MediaWiki 格式对我来说很容易理解 而且比编写传统 HTML 节省了我很多时间 然而 我也写了一篇博客 发现一直从键盘切换到鼠标来输入正确的 HTML 标签会增加很多时间 我希望能够使用 Mediawik
  • 如何添加带有外部链接的自定义选项卡按钮?

    使用 Mediawiki 1 19 并希望在选项卡按钮 页面 和 讨论 旁边添加带有外部链接的选项卡 怎么做 Extension DynamicTabs 不起作用 因为它在矢量皮肤方面存在问题 步入常见问题解答 如何在我的 wiki 中添加

随机推荐