私は自分のウェブサイトに Dokuwiki を使用しています。htaccess 書き換えルールについて簡単な質問があります。次の構成があります。提案は Dokuwiki ヘルプから得られます。
Options -Indexes -MultiViews +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^lib/exe/xmlrpc.php$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301]
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
RewriteCond %{HTTP_HOST} ^mydomain.com$ [NC]
RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L]
何が起こっているのかすべてを理解していないことを認めます。大切なことは、私が欲しいということです
http://mydomain.com
に変更されます
http://www.mydomain.com
また、任意のサブドメイン。また、doku.php? リンクの最後まで。
現在、この .htaccess ファイルによる変換は次のとおりです。
[Good] www.mydomain.com --> www.mydomain.com
[Good] www.mydomain.com/mypage --> www.mydomain.com/mypage
[Bad] mydomain.com --> www.mydomain.com/doku.php
[Bad] mydomain.com/mypage --> www.mydomain.com/doku.php?id=mypage
ほら、物事の前に www を付ければ正常に動作するように見えますが、そうしないと、書き換えルールにより適切な www が付けられますが、サイト名 (doku. php と id= の部分)。
htaccess 設定のどこが間違っていたのでしょうか?