最近、私はHostGatorでホストされているサーバーにMediaWiki 1.23.9をインストールしました(私はそう思っています)。私はそれをすべて設定して、きれいな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チャームのように働いた!答えとして再投稿し、私はそれを受け入れるでしょう! –