DokuWiki.biz

オープンソースのウィキソフトウェア「DokuWiki」の設定、テンプレートカスタマイズ、プラグイン開発などのメモ書き。

ユーザ用ツール

サイト用ツール


setting:rewrite

URLの書き換え(.htaccessによる)

このページでは、DokuWikiのURLをWebサーバー(Apache)の.htaccessファイルによって書き換える方法を説明する。

DokuWikiのデフォルトのURLは見栄えも悪く分かりにくいので、この方法によって書き換えることをおすすめする。

デフォルトのURL

DokuWikiのURLは、デフォルト設定では以下のようになる。

http://yourdomain.com/doku.php?id=wiki:welcome

このURLでは、パラメータによってページが識別されることになり、検索エンジンによっては別のページとして正しく認識されない場合もある。そのため、以下のようなURLに書き換えることが望ましい。また、こちらの書き換えたURLの方がわかりやすく、見た目も綺麗である。

http://yourdomain.com/wiki/welcome

URL書き換えの設定

設定項目の変更

以下の設定項目を変更する。

設定項目 設定
userewrite 1.htaccess
useslash 1(チェックオン)

.htaccessファイルの変更

公開ディレクトリ(ドキュメントルート)直下に.htaccessファイルを作成1)し、以下の箇所のコメントアウトを外す。なお、RewriteBaseの箇所は実際の環境に合わせて、DokuWikiの配置場所が公開ディレクトリ直下ではない場合は設定する。

## Uncomment these rules if you want to have nice URLs using
## $conf['userewrite'] = 1 - not needed for rewrite mode 2
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
 
## Not all installations will require the following line.  If you do,
## change "/dokuwiki" to the path to your dokuwiki directory relative
## to your document root.
RewriteBase /dokuwiki

このURLの書き換えによって、apachectl statusコマンドが影響を受ける。もし、サーバー監視などでこのコマンドを利用するなら、以下のように間に1文追加する。

RewriteCond %{REQUEST_FILENAME}       !-d
RewriteCond %{REQUEST_URI}            !^/server-status$
RewriteRule (.*)                      doku.php?id=$1  [QSA,L]

参考ページ

1)
.htaccess.distファイルを利用する。
setting/rewrite.txt · 最終更新: 2018/08/30 15:20:50 by admin