Jump to content

Help:错误标题

From mediawiki.org
This page is a translated version of the page Help:Bad title and the translation is 94% complete.

出于各种原因,某些页面标题被定义为错误的标题。 您无法使用这些标题创建页面。

关于什么才算是错误标题,请参考手册:页面标题 正则表达式相关说明,或者Title.php

这种标题虽然可用,但强烈不建议使用它们:

  • Some¬`!"£$^&*()_+-=~?/.,;:'@

这些字符无法被用作标题:

HTTP代码

返回的错误代码由MediaWiki软件版本决定:

  • v1.19.1及以后:400 (Bad Request)
  • v1.16.4及以前:200 (OK)

正则表达式

可檢索出標題中無效字元與序列的PCRE2 regex(相對簡單)。 請留意:仍有可能會有沒被檢索到的錯誤標題。

# 匹配的标题将被视为非法。
$rxTc = '/' .
	# 禁止使用任何不允许的字符。
	'[^ %!"$&\'()*,\-.\/0-9:;=?@A-Z\\\\^_`a-z~\x80-\x{10FFFF}+]' .
	# 非ASCII空白字符、Unicode 双向覆盖字符、替代字符以及非字符实体标记。
	'|[\xA0\x{1680}\x{180E}\x{2000}-\x{200A}\x{200E}\x{200F}\x{2028}-\x{202F}\x{205F}\x{3000}\x{FFFD}\p{Noncharacter Code Point}]' .
	# 檢索以空格或冒號開頭、或是空白的標題
	'|\A(?:[ :]|\Z)' .
	# Double/closing whitespace.
	'| (?: |\Z)' .
	# URL百分比编码序列会干扰往返标题的功能,从而无法始终如一地链接到它们。
	'|%[0-9A-Fa-f]{2}' .
	# XML/HTML字符引用也会产生类似的问题。
	'|&[A-Za-z0-9\x80-\x{10FFFF}]+;' .
	# 那些在URL中包含“/./”或“/../”的页面,通常会因为网络浏览器对“相对”URL的处理方式而无法访问。此外,这些格式还会与子页面的语法冲突。因此,应该明确禁止这类情况的出现。
	'|(?:\A|\/)\.\.?(?:\/|\Z)' .
	# Magic tilde sequences.
	'|~{3}' .
	'/u';

參見