Dokuwiki の URL を短くする

Dokuwiki を始めたことを書いた。

Dokuwiki を始めた – with a Christian Wife
https://wacw.cf/2017/10/27/just-started-dokuwiki/

Dokuwiki はデフォルトだと URL が以下のようになってしまう。

〜/doku.php?id=ページタイトル

これはあまりかっこよくない。そこで、以下のように変更したい。

〜/ページタイトル

変更方法は公式サイトに書いてあったが、少し分かりづらかったので、ここにメモしておく。なお、このように URL を変更することを公式サイトでは「nice な URL に変更する」と呼んでいる!

rewrite [DokuWiki]
https://www.dokuwiki.org/rewrite

(1)Admin > Configuration Settings > Advanced > Use nice URLs を .htaccess に変更する。そして、すぐ下の Use slash as namespace separator in URLs にチェックを入れる。保存。

(2)FTP サーバーから、Dokuwiki のルートディレクトリに行く。

(3−1).htaccess.dist というファイルがある場合、ダウンロード。

(3−1−1)3−1のファイルをテキストエディタで開き、以下の行が # でコメントアウトしてあるので、# を削除する。

RewriteEngine on

RewriteRule ^_media/(.*) lib/exe/fetch.php?media=$1 [QSA,L]
RewriteRule ^_detail/(.*) lib/exe/detail.php?media=$1 [QSA,L]
RewriteRule ^_export/([^/]+)/(.*) doku.php?do=export_$1&id=$2 [QSA,L]
RewriteRule ^$ doku.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) doku.php?id=$1 [QSA,L]
RewriteRule ^index.php$ doku.php

(3−2).htaccess というファイルがある場合、ダウンロード。

(3−2−1)3−2のファイルをテキストエディタで開き、3−1−1のコードを追加する。

(4)もし、Dokuwiki を www.hogehoge.com/dokuwiki/ というディレクトリに置いているのなら(=サブディレクトリを自分で作成したなら)、RewriteBase /dokuwiki を3−1−1の RewriteEngine on の次の行に追記する(ディレクトリに応じて適宜 /dokuwiki 部分を修正してください)。

(5)4を保存。3−1の場合は .htaccess にファイル名を変更する。

(6)5をFTP サーバーの Dokuwiki のディレクトリへアップロードする。

これで URL が nice になったはずだ。