【DokuWiki】URLをスッキリさせる(URLの書き換え)

スポンサーリンク

前記事でUbuntu Serverで、DokuWikiを使えるようにした。

【Ubuntu 20.04/18.04 LTS Server】DokuWikiをインストールし、Markdown記法が使えるようにする
Markdownで書けるWikiを探していた。DokuWikiはプラグインで対応出来るとの事で、使えるようにしたので備忘録を残す。 追記(2018/6/2) Ubuntu 18.04 LTS Serverでも動作する事を確認した。 追記(2...

DokuWikiのデフォルト設定では、各ページへのアクセスURLは下記のように、doku.phpへの引数のような感じになっている。

http://example.com/dokuwiki/doku.php?id=page

Example Domain

そこで、下記のようなスッキリしたURLでアクセスできるように「URL書き換え」機能を有効にする。

http://example.com/dokuwiki/page

Example Domain

Apacheの設定

前記事で設定したように、AllowOverride All を記述して、.htaccessファイル機能が有効になるようにApacheの設定にしておく。

Ubuntuのデフォルトでは、mod_rewriteが無効になっているので有効化。

$ sudo a2enmod rewrite

Apacheの再起動。

$ sudo service apache2 restart

ドキュメントルートに .htaccess ファイルを作成

DokuWikiには .htaccessファイルが付属しているので、そのファイルをコピーして編集する。

$ cd /var/www/dokuwiki/
$ sudo -u www-data cp .htaccess.dist .htaccess
$ sudo -u www-data nano .htaccess

下記箇所のコメントになっている行を有効にする

Options -Indexes -MultiViews +FollowSymLinks

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

RewriteBase /dokuwiki

DokuWikiの設定

管理者ユーザでログインし、管理 > サイト設定 > 設定管理 画面の「高度な設定」で以下を設定。

  1. 「URLの書き換え」→.htaccess
  2. 「URL上の名前空間の区切りにスラッシュを使用」→チェック

設定画面

上記設定し保存して完了。

参照記事

参考

  1. URL の書き換え
  2. DokuWikiのURLを短く単純にする(Apacheの.htaccessと「URLの書き換え」設定)
  3. 名前空間

コメント

タイトルとURLをコピーしました