10行目: | 10行目: | ||
1. 仮想ホストを使っている場合、<u>VirtualHostの設定の中に</u>記す<br> | 1. 仮想ホストを使っている場合、<u>VirtualHostの設定の中に</u>記す<br> | ||
2. ちなみに RewreiteCondは /index.phpや/imagesなどの隠蔽のため常に必要 | 2. ちなみに RewreiteCondは /index.phpや/imagesなどの隠蔽のため常に必要<br> | ||
3. ちなみに、2つのディレクトリに対してRewriteルールは同時に適用できない | 3. ちなみに、2つのディレクトリに対してRewriteルールは同時に適用できない | ||
2024年4月18日 (木) 16:15時点における版

このサイトでもお世話になっているCMS。
短縮URL
詳しくは公式ページ参照。ちなみに、RewireteRule の基本は、クライアントから要求されたURLを正規表現でチェックしてマッチ部分を置換すること。探索範囲はホスト名ポート番号 (:443等) 以降からクエリー (?) 直前まで。
RewriteRule 正規表現パターン 置換URL [フラグ]
ポイントとしては以下。
1. 仮想ホストを使っている場合、VirtualHostの設定の中に記す
2. ちなみに RewreiteCondは /index.phpや/imagesなどの隠蔽のため常に必要
3. ちなみに、2つのディレクトリに対してRewriteルールは同時に適用できない
RewriteEngine On RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d RewriteRule ^/?(/.*)?$ %{DOCUMENT_ROOT}/index.php [L] # URLを短縮 RewriteRule ^/*$ %{DOCUMENT_ROOT}/index.php [L] # / へのアクセスをメインページへ # サブディレクトリ運用の場合 RewriteRule ^/?wiki(/.*)?$ %{DOCUMENT_ROOT}/wiki/index.php [L] RewriteRule ^/*$ %{DOCUMENT_ROOT}/wiki/index.php [L]
3. LocalSettings.php に追記。
$wgScriptPath = ""; $wgArticlePath = "/$1";
以上。ちなみに、トップURLじゃない場合は RewirteCond部が不要。