【DokuWiki/Ubuntu 16.04 LTS Server】URLをスッキリさせる(URLの書き換え)

スポンサーリンク
728×90 ビッグバナー

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

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

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

http://example.com/dokuwiki/page
http://example.com/dokuwiki/test/start

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
  4. 名前空間
スポンサーリンク
レシポンシブ広告
レシポンシブ広告

シェアする

フォローする