Dokuwikiの.htaccess

ainoniwa.netで使われている設定をベタ書き。(https→httpに戻る辺りがちゃんと書けてない)
  • www有り無し → www有りに統一
  • ./doku/と./doku/doku.php → ./doku/に統一
  • 基本的にHTTP/HTTPSを問わない(dokuwiki管理機能と競合する場合がある?)
  • ログインフォームはHTTPSアクセスに固定
<Files ~ "^[\._]ht">
    Order allow,deny
    Deny from all
    Satisfy All
</Files>

RewriteEngine on
RewriteBase /doku


RewriteCond %{HTTPS} !on
RewriteCond %{QUERY_STRING} do=(log|profile|admin)
RewriteRule ^(.*)$ https://www.ainoniwa.net/doku/$1 [R,QSA,L]

RewriteCond %{HTTPS} on
RewriteCond %{QUERY_STRING} !do=(log|profile|admin)
RewriteRule ^(.*)$ http://www.ainoniwa.net/doku/$1 [R,QSA,L]

RewriteCond %{HTTP_HOST} ^(ainoniwa\.net)(:80)? [NC]
RewriteRule ^(.*)$ http://www.ainoniwa.net/doku/$1 [R=301,L]

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]

RewriteCond %{THE_REQUEST} ^.*/doku.php
RewriteRule ^(.*)doku.php$ http://%{HTTP_HOST}/doku/$1 [R=301,L]