それは、rewrite可否の判定だったり、動的・静的コンテンツの判断だったり
または、モバイル対応だったりと
必ず覚えておきましょう。
server及びlocationディレクティブ内でしか使えません。
if (A = B) { ~処理~ }
###
# ifの後にはスペースが必要です。
# 守らないと以下の構文エラーが出ます。
# nginx: [emerg] unknown directive "if(A =B" in /etc/nginx/nginx.conf:12
#
# if ( 構文OK
# if( 構文NG
###
###
# また、判定記号は、以下のようになっています。
#
~ BがAに含まれるか
!~ BがAに含まれないか
~* BがAに含まれるか(大文字小文字を問わず)
!~* BがAに含まれないか(大文字小文字を問わず)
= AとBが完全一致か
!= AとBが異なるか
-f ファイルが存在するか
!-f ファイルが存在しないか
-d ディレクトリが存在するか
!-d ディレクトリが存在しないか
-e ファイル、ディレクトリ、またはシンボリックリンクが存在するか
!-e ファイル、ディレクトリ、またはシンボリックリンクが存在しないか
-x 実行可能であるか
!-x 実行不可であるか
参考
http://wiki.nginx.org/HttpRewriteModule#if
【小言】
よく使います。
0 件のコメント:
コメントを投稿