6行目: 6行目:
詳しくは[https://www.mediawiki.org/wiki/Manual:Short_URL/Apache/ja 公式ページ]参照。ちなみに、RewireteRule の基本は、クライアントから要求されたURLを正規表現でチェックしてマッチ部分を置換すること。[https://www.javadrive.jp/apache/htaccess/index4.html 探索範囲は]ホスト名ポート番号 (:443等) 以降からクエリー (?) 直前まで。
詳しくは[https://www.mediawiki.org/wiki/Manual:Short_URL/Apache/ja 公式ページ]参照。ちなみに、RewireteRule の基本は、クライアントから要求されたURLを正規表現でチェックしてマッチ部分を置換すること。[https://www.javadrive.jp/apache/htaccess/index4.html 探索範囲は]ホスト名ポート番号 (:443等) 以降からクエリー (?) 直前まで。
  RewriteRule 正規表現パターン 置換URL [フラグ]
  RewriteRule 正規表現パターン 置換URL [フラグ]
ポイントとしては以下。


===トップURLで運用する場合===
===トップURLで運用する場合===
1. 仮想ホストを使っている場合、<u>VirtualHostの設定の中に</u>記す<br>
1. 仮想ホストを使っている場合、<u>VirtualHostの設定の中に</u>記す<br>
2. トップURLの場合、以下の設定を行う必要がある (/index.phpや/imagesなどの隠蔽のため)
2. ちなみに RewreiteCondは /index.phpや/imagesなどの隠蔽のため必要


  RewriteEngine On
  RewriteEngine On
  RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f   # トップURLの場合
  RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
  RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d   # トップURLの場合
  RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
  RewriteRule ^/?(/.*)?$ %{DOCUMENT_ROOT}/index.php [L]    # URLを短縮
  RewriteRule ^/?(/.*)?$ %{DOCUMENT_ROOT}/index.php [L]    # URLを短縮
  RewriteRule ^/*$ %{DOCUMENT_ROOT}/index.php [L]    # / へのアクセスをメインページへ
  RewriteRule ^/*$ %{DOCUMENT_ROOT}/index.php [L]    # / へのアクセスをメインページへ

2024年3月21日 (木) 15:34時点における版

MediaWiki

このサイトでもお世話になっているCMS。

短縮URL

詳しくは公式ページ参照。ちなみに、RewireteRule の基本は、クライアントから要求されたURLを正規表現でチェックしてマッチ部分を置換すること。探索範囲はホスト名ポート番号 (:443等) 以降からクエリー (?) 直前まで。

RewriteRule 正規表現パターン 置換URL [フラグ]

ポイントとしては以下。

トップURLで運用する場合

1. 仮想ホストを使っている場合、VirtualHostの設定の中に記す
2. ちなみに RewreiteCondは /index.phpや/imagesなどの隠蔽のため必要

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]    # / へのアクセスをメインページへ

3. LocalSettings.php に追記。

$wgScriptPath = "";
$wgArticlePath = "/$1";

以上。ちなみに、トップURLじゃない場合は RewirteCond部が不要。