• 欢迎来到THBWiki!如果您是第一次来到这里,请点击右上角注册一个帐户
  • 有任何意见、建议、求助、反馈都可以在 讨论板 提出
  • THBWiki以专业性和准确性为目标,如果你发现了任何确定的错误或疏漏,可在登录后直接进行改正

Argomento su 讨论:讨论板

Jump to navigation Jump to search
Riassunto di NicoNicoNii

结论:API 的重定向功能不可靠,只能跟随人工创建的重定向条目,而无法处理英文大小写、简繁体中文和日文汉字、片假名平假名和罗马字、对应的全角与半角字符所产生的自动重定向。要获取重定向后的页面名称,需利用expandtemplates API 以手工展开模板{{#redirect:条目名}}。至于该具体条目的个例问题,已通过人工创建重定向页面解决。

NicoNicoNii〈Simple Dowser〉 (discussionecontributi)

用搜索框访问神魔讨绮传 ~ Magus in Mystic Geometries,被重定向至:神魔討綺伝_~_Magus_in_Mystic_Geometries.

在搜索框访问神魔讨绮传 ~ Magus in Mystic Geometries.(多一个句号),是特殊:管理映射方案/神魔讨绮传音乐名/日文的模板{{神魔讨绮传}}的解析结果,会被被重定向至:神魔讨绮传 ~ Magus in Mystic Geometries.(消歧义),而且目标只有一个选项。而这个消歧义页面本身也不存在,疑似是自动生成的。

更奇怪的是,直接访问原始条目的维基链接或者 URL 则不受这个消歧义影响,可以正常自动重定向。比这还要奇怪的是,通过 API 获取条目,则会提示条目不存在,没有任何重定向信息:

{'batchcomplete': True,              
 'limits': {'categories': 500},
 'query': {'pages': [{'missing': True, 
                      'ns': 0, 
                      'title': '神魔讨绮传  Magus in Mystic Geometries.'}]}}

在系统内部,这个页面究竟是以什么方式表示的?这个消歧义页是某种软件“特性”,还是单纯为历史遗留的无用页面?如果是无用页面,建议直接重定向至神魔討綺伝_~_Magus_in_Mystic_Geometries.。不过我怀疑这可能是动态的专辑名检索逻辑和静态的条目名检索逻辑发生了一些奇怪的相互作用……

VincentDirac〈Someone Thinking of Nothing〉 (discussionecontributi)

这是因为本wiki对于搜索和链接采用了对大小写等不敏感的模式。本wiki对于大小写字母、简繁体中文和日文汉字、片假名平假名和罗马字、对应的全角与半角字符等均设置了自动重定向,并且会模糊处理空格(额词条名不允许全角空格,那么只有半角空格了)。可能与管理碰撞的插件有关。会自动识别这些可能引起消歧义的页面。但是SMW等对于大小写等是严格的,除非进行重定向,否则不能认为是一致的,在链入页面里也实际上查不到。这个问题确实比较纠结。上一次升级MW版本之后,印象中消除了一些旧的问题,但是也让其他一些地方变得看起来奇怪了()

那个模板啊,就是这个:https://thwiki.cc/-/35o 确实感觉应该设置一个这个的重定向页面。这个消歧义可能是神魔讨绮传~Magus in Mystic Geometries.这个重定向导致的)

Gzz〈小石头帽子〉 (discussionecontributi)

我没有重复出来你说的那个(消歧义)页面,如果在 wiki 里直接点链接 神魔讨绮传 ~ Magus in Mystic Geometries. 那当然是会到达目标词条的
你肯定是进入了 特殊:消歧义/神魔讨绮传 ~ Magus in Mystic Geometries.,这个是特殊页面,不是实际存在的词条,不过我不清楚你是怎么到那去的……
api 的话,确实即使是加了 redirects=1 也不会自动进行这种繁简重定向,必须要是实际存在一个重定向页面才能找到目标页面,如果你想要和浏览 wiki 时一样的自动重定向功能的话可以用扩展提供的函数 #redirect,展开一下 {{#redirect:...}},我一直是这样做的()
话说我知道 mw 原生支持首字母大小写的自动重定向,我刚试了下 Wikipedia 的 api 即使是不加 redirects=1 也能自动进行这种重定向,而 thb 就算加了 redirects=1 也不会重定向首字母大小写,确实很奇怪,还是可惜现在已经找不到作者来问了()

NicoNicoNii〈Simple Dowser〉 (discussionecontributi)

直接点是会正常到达的,直接输入链接也是会正常到达的,看起来仿佛条目就是存在的。但神奇的是,如果你在搜索框中输入文本,就会进入这个薛定谔的重定向页面。

话说我知道 mw 原生支持首字母大小写的自动重定向,我刚试了下 Wikipedia 的 api 即使是不加 redirects=1 也能自动进行这种重定向,而 thb 就算加了 redirects=1 也不会重定向首字母大小写,确实很奇怪,还是可惜现在已经找不到作者来问了

真是奇怪了。看来这 THBwiki 本身也和其中记载的内容一样,都不受常识束缚。

多谢{{#redirect:...}}的解决方案。

NicoNicoNii〈Simple Dowser〉 (discussionecontributi)

问题已解决,多谢解答。结论:API 的重定向功能不可靠,需要按以上方法手动展开重定向。此外,作为记录,这个薛定谔的消歧义页面可以使用这个链接重现,这是在搜索框输入文本后访问的链接(手工创建重定向页面后已失效):https://thwiki.cc/index.php?search=%E7%A5%9E%E9%AD%94%E8%AE%A8%E7%BB%AE%E4%BC%A0+%EF%BD%9E+Magus+in+Mystic+Geometries.

Gzz〈小石头帽子〉 (discussionecontributi)

还真是,搜索框里直接回车就会进消歧义页面
其实我不怎么在搜索框里直接回车的,因为经常不能进想去的页面,有时会明明页面存在但是却进到搜索里()
不过就这个问题而言,肯定还是新建一个重定向比较好,不带点的和波浪线两边不带空格的重定向都有了,怎么既带点又带空格的反而没()所以我刚才建了

NicoNicoNii〈Simple Dowser〉 (discussionecontributi)

多谢!该讨论可以标记为“已解决”了。

NicoNicoNii〈Simple Dowser〉 (discussionecontributi)

明白了,神魔讨绮传 ~ Magus in Mystic Geometries是一个真实的手工重定向,API 能获取重定向页面并执行重定向,但神魔讨绮传 ~ Magus in Mystic Geometries.恰好符合繁简不敏感规则,自动重定向到了同名的繁体标题,没有对应的重定向页面,API 的action="query", titles="条目名称", redirects=1 也无法执行重定向(MediaWiki 甚至不知道发生了重定向,页面没有“重定向至”提示)。那么问题来了,是否有 API 可以查询这种重定向的目标?目前想到的临时解决方法是(正道不走,又开始用歪门邪道了……),用 action=parse, text="条目", contentmodel="wikitext"渲染为 HTML,然后抽出其中的"title"字段……

更新:方法是展开{{#redirect:...}}