作成日:2017-11-14, 更新日:2024-03-13
基本
リダイレクト関連はまず「RewriteEngine on」を記載する。
その後、条件(RewriteCond)とリダイレクト先(RewriteRule)を記載する。
基本的な「RewriteCond」と「RewriteRule」
RewriteCond A B RewriteRule C D
「(RewriteCond)AがBのとき」に「CはDに転送」というのが基本。
リダイレクト設定が1種類のとき
RewriteEngine on RewriteCond A B RewriteRule C D
リダイレクト設定が複数種類のとき
RewriteEngine on RewriteCond A B RewriteRule C D RewriteCond E F RewriteRule G H
ルールは複数だけど、リダイレクト先が1種類のとき
RewriteEngine on RewriteCond A1 B1 RewriteCond A2 B2 RewriteRule C D
「(RewriteCond)A1がB1のとき」もしくは「(RewriteCond)A2がB2のとき」に「CはDに転送」。
メモ
・RewriteBaseはRewriteRuleの転送先がパスの時に使われるURL
RewriteCond で使用できるパターンとオプション
条件に利用できるパターン
パターン | 説明 |
---|---|
! | テスト文字列が条件と不一致である場合、true を返す |
< | テスト文字列を数値、または辞書順として大小比較を行い小さい場合、true を返す |
> | テスト文字列を数値、または辞書順として大小比較を行い大きい場合、true を返す |
= | テスト文字列を数値、または辞書順として等価比較を行い等しい場合、true を返す |
-d | テスト文字列のディレクトリが存在する場合、true を返す |
-f | テスト文字列のファイルが存在する場合、true を返す |
-s | テスト文字列のファイルが存在し、サイズが0byteでない場合、true を返す |
-l | テスト文字列がシンボリックリンクである場合、true を返す |
-x | テスト文字列に対して実行権限がある場合、true を返す |
-F | テスト文字列に対してアクセス可能なパスである場合、true を返す |
-U | テスト文字列に対してアクセス可能なURLである場合、true を返す |
条件を評価する時のオプション
オプション | 説明 |
---|---|
[OR] | 連続する RewriteCond のいずれかが true の場合に実行する。 省略時は、連続する RewriteCond がすべて true の場合に実行する。 |
[NC] | 条件を評価する時、大文字小文字を区別しない。 |