2012-09-29 55 views
0

I.e .: 如何在MediaWiki鏈接中用其html實體禁止替換/替換字符?在MediaWiki中阻止鏈接中的字符的URL編碼

我需要插入一個鏈接看起來像這樣,管道(|)在內,到鏈接到MediaWiki文章:

http://www.somesite.asdf/#|param1|param2|param3 

目標網站不接受%7C|在其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 

,這是無效的。

有什麼建議嗎?

回答

0

這不是一個有效的URI;根據RFC 3986,URI包含字符ALPHA/DIGIT/"-"/"."/"_"/"~"/":"/"/"/"?"/"#"/"["/"]"/"@"/"!"/"$"/"&"/"'"/"("/")"/"*"/"+"/","/";"/"=";其他一切都必須進行百分比編碼。 MediaWiki會自動更正無效的URL(可能與任何其他CMS一樣),所以如果這個wiki由其他人擁有,那麼您運氣不好。如果是你的,你可以使用一些方法來避免內置的HTML處理(例如啓用<html>標籤)。確保你知道你在做什麼,這通常會產生安全後果。

+0

謝謝你清理那個。這是令人難以置信的 - 目標網站是一個官方的大型網站,它的URL需要在其「片段」部分('#')之後的非編碼管道。不過,維基是我的,所以解決方法就放在桌面上。我只是希望能有某種方式(即轉義字符)在不修改/重新配置MediaWiki框架的情況下禁止維基文章中的鏈接的url編碼。然而,它是有道理的,它不可能立即創建無效的鏈接 - 所以MediaWiki不是責備。 – poplitea