我最近在HostGator託管的服務器上安裝了MediaWiki 1.23.9(我相信這是基於Apache的)。我得到了所有的配置,並獲得了相當的URL並運行,並獲得了動作URls的正確重寫,並且一切都很好。然而,我注意到,錨鏈接,特別是自動生成的節標題,並不那麼漂亮。由於某些原因,我不能100%確定地進行「點編碼」。停止MediaWiki編碼括號中的圓括號
這導致/w/MyPage#Section_1_(Stuff_Here)
變爲/w/MyPage#Section_1_.28Stuff_Here.29
。
括號是有效的URI字符(事實上,如果用在頁面標題中,它們在URI中不能正確編碼),我不明白爲什麼會發生這種情況,也不知道如何阻止它。我瀏覽了各種錯誤報告,甚至嘗試了一下MediaWiki源代碼。我發現了執行編碼的函數,但據我所知,不應該讓括號變得編碼。
我的問題是:有沒有辦法阻止MediaWiki在節標題錨中編碼括號?否則,我可以用.htaccess規則掩蓋這種行爲嗎?作爲參考,我目前的.htaccess文件在下面,儘管我非常希望關掉它而不是掩蓋它。
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/w/index.php [L]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^/?w/images/thumb/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/w/thumb.php?f=$1&width=$2 [L,QSA,B]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^/?w/images/thumb/archive/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/w/thumb.php?f=$1&width=$2&archived=1 [L,QSA,B]
注:This answer to a different question提供的「點編碼」的過程就是一個快速的解釋,雖然不是如何從中排除括號。
試試['$ wgExperimentalHtmlIds'](https://www.mediawiki.org/wiki/Manual:$wgExperimentalHtmlIds)。 – Tgr
@Tgr就像一個魅力!重新發布,作爲答案,我會接受它! –