Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
阻止MediaWiki中链接中字符的URL编码_Url_Escaping_Mediawiki - Fatal编程技术网

阻止MediaWiki中链接中字符的URL编码

阻止MediaWiki中链接中字符的URL编码,url,escaping,mediawiki,Url,Escaping,Mediawiki,例如:如何禁止在MediaWiki链接中使用html实体替换字符? 我需要在MediaWiki文章中插入如下链接,其中包括管道(|): http://www.somesite.asdf/#|param1|param2|param3 目标站点不接受%7C或|作为其URL中的管道替换。因此,以下URL无效: http://www.somesite.asdf/#%7Cparam1%7Cparam2%7Cparam3 http://www.somesite.asdf/#|pa

例如:如何禁止在MediaWiki链接中使用html实体替换字符?

我需要在MediaWiki文章中插入如下链接,其中包括管道(
|
):

http://www.somesite.asdf/#|param1|param2|param3
目标站点不接受
%7C
|作为其URL中的管道替换。因此,以下URL无效:

http://www.somesite.asdf/#%7Cparam1%7Cparam2%7Cparam3
http://www.somesite.asdf/#|param1|param2|param3

当我在MediaWiki文章中键入链接时,如:

http://www.somesite.asdf/#|param1|param2|param3
。。。它会产生一个指向以下内容的链接:

http://www.somesite.asdf/#%7Cparam1%7Cparam2%7Cparam3
,这是无效的


有什么建议吗?

不是有效的URI;根据,URI由以下字符组成:“/”/“/”/“/”?“/”/“/”/“/”/”[“/”]“/”@/“!”/“$”/”&“/”/”(“/”/“/”/“*/”+“/”,“/”;“/”=”
;其他一切都必须进行百分比编码。MediaWiki会自动更正无效的URL(可能与任何其他CMS一样),因此,如果此wiki归其他人所有,您就倒霉了。如果它是您的,您可以使用一些方法来避免内置的HTML处理(例如启用
标记);确保您知道自己在做什么,这通常会带来安全后果。

谢谢您的澄清。令人难以置信的是,目标站点是一个官方的大型站点,它要求在其URL的“片段”部分(在
#
之后)使用未编码的管道。不过,维基是我的,所以解决办法摆在桌面上。我只是希望有某种方法(例如转义字符)可以在不修改/重新配置MediaWiki框架的情况下抑制wiki文章中链接的url编码。然而,创建无效链接并非立竿见影,这是有道理的——因此MediaWiki不应受到指责。