2024/3/23記事内に広告が含まれていることがあります。APACHEで構築されたサーバー上にWordPressなどのWEBサイトを構築すると、ルートディレクトリに.htaccessというファイルが作成されます。その中には様々な記述があり、RewriteCondという記述があります。ここではこのRewriteCondとは何か?についてその使い方などを解説しています。前提となる.htaccessとは何か?については下記をご参考ください。アルファベット表記(整数比較)アルファベット表記(ファイル関連)3フラグ実例.htaccessの記述例(RewriteCondの実例).htaccessの一例としてWordPressの場合は以下のような記述がしてあります。フィルターによってのみ修正が可能です。これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。WordPress下の方に、RewriteCondが2回出てきます。!-dRewriteCondとは何か?RewriteCondとはmod_rewirteのディレクティブの1つです。簡単に言うと、判定用の条件式です。RewriteRuleの上に記述することで、指定した条件を満たす場合のみ、その下にあるRewriteRuleを適用して、URLの書き換えと転送を行います。次のような3行の記述があるとします。[L]この場合、1行目のRewriteCondの条件を満たしたら、次のRewriteCondに進みます。2行目のRewriteCondの条件も満たしていれば、3行目のRewriteRuleに進むという意味になります。(参考)複数のRewriteRuleに適用するRewriteCondの条件を満たす場合に実行されるRewriteRuleは1つのみですが、[c](または[chain])フラグを使うことで、複数のRewriteRuleの条件を適用することができます。RewriteCondの基本構文RewriteCondの基本構文は以下のようになっています。(3フラグ)第1引数で1判定の対象を指定し、第2引数に2判定内容を記述します。必要に応じて3フラグを記述します。公式には以下のようになっています。RewiteCond1判定対象の指定(変数の一覧)第1引数の判定対象は文字列で記述することもできますが、基本的には環境変数で指定します。off例えば以下のように使います。判定方法は様々なものがあり、不等号やイコールを使った単純な比較から、「-d」のようにディレクトリかどうかを判定するといった判定式が用意されています。記述の際は以下の2点に注意が必要です。否定を表す「!」が使われることもしばしばあります。ディレクトリかどうかを調べる「-d」に、否定の「!」がついて「!-d」となっている場合は、ディレクトリじゃないなら結果がtrueになります。