2012年2月17日金曜日

if の判定記号

if 文にはお世話になります。

それは、rewrite可否の判定だったり、動的・静的コンテンツの判断だったり
または、モバイル対応だったりと

必ず覚えておきましょう。


server及びlocationディレクティブ内でしか使えません。

if (A = B) {
    ~処理~ 
}


###
# ifの後にはスペースが必要です。
# 守らないと以下の構文エラーが出ます。
# nginx: [emerg] unknown directive "if(A =B" in /etc/nginx/nginx.conf:12  
#
# if (    構文OK
# if(     構文NG
###

###
# また、判定記号は、以下のようになっています。
#
~    BAに含まれるか
!~  BAに含まれないか
~*   BAに含まれるか(大文字小文字を問わず)
!~*  BAに含まれないか(大文字小文字を問わず)
=    ABが完全一致か
!=   ABが異なるか
-f   ファイルが存在するか
!-f  ファイルが存在しないか
-d   ディレクトリが存在するか
!-d  ディレクトリが存在しないか
-e   ファイル、ディレクトリ、またはシンボリックリンクが存在するか
!-e   ファイル、ディレクトリ、またはシンボリックリンクが存在しないか
-x    実行可能であるか
!-x   実行不可であるか

参考
http://wiki.nginx.org/HttpRewriteModule#if


【小言】
よく使います。

0 件のコメント:

コメントを投稿