确定 MediaWiki 安装的文章路径
Determine article path of a MediaWiki installation
当我只知道 wiki 的域时,如何使用 MediaWiki 可靠地确定 wiki 的文章路径 ($wgArticlePath
)?
我做了一些研究,但只找到了在自己的安装中找到的方法,而不是我无法控制的安装。
到目前为止我想出但似乎并不总是奏效的方法:
- 请求根域的网站并浏览链接,但我不知道哪些链接指向 wiki。在某些情况下,URL 也只链接到子域,而不是主页(包括文章路径),所以我还需要请求每个 wiki 的主页。
- 使用
api.php
但我没有找到方法。这个URL好像也是可以修改的
- 使用页面
Special:Version
但这需要我已经知道文章路径。只能验证了。
您可以使用 action=query&meta=siteinfo
从 API 获取文章路径。文章路径包含在一组名为“general”的属性中。来自英文维基百科的示例,仅查询 general
属性:
https://en.wikipedia.org/w/api.php?action=query&meta=siteinfo&siprop=general
在这种情况下,您会发现:"articlepath": "/wiki/"
如果您甚至不知道 API 的路径,您可以解析起始页(或任何页面)的标记,并在页眉中查找 <link rel="EditURI">
标记。您会在相当新的 MediaWiki 版本的任何默认安装中找到它(尽管显然完全有可能通过使用某些扩展来删除此标记)。
当我只知道 wiki 的域时,如何使用 MediaWiki 可靠地确定 wiki 的文章路径 ($wgArticlePath
)?
我做了一些研究,但只找到了在自己的安装中找到的方法,而不是我无法控制的安装。
到目前为止我想出但似乎并不总是奏效的方法:
- 请求根域的网站并浏览链接,但我不知道哪些链接指向 wiki。在某些情况下,URL 也只链接到子域,而不是主页(包括文章路径),所以我还需要请求每个 wiki 的主页。
- 使用
api.php
但我没有找到方法。这个URL好像也是可以修改的 - 使用页面
Special:Version
但这需要我已经知道文章路径。只能验证了。
您可以使用 action=query&meta=siteinfo
从 API 获取文章路径。文章路径包含在一组名为“general”的属性中。来自英文维基百科的示例,仅查询 general
属性:
https://en.wikipedia.org/w/api.php?action=query&meta=siteinfo&siprop=general
在这种情况下,您会发现:"articlepath": "/wiki/"
如果您甚至不知道 API 的路径,您可以解析起始页(或任何页面)的标记,并在页眉中查找 <link rel="EditURI">
标记。您会在相当新的 MediaWiki 版本的任何默认安装中找到它(尽管显然完全有可能通过使用某些扩展来删除此标记)。