二、Location語(yǔ)法語(yǔ)法:location [=|~|~*|^~] /uri/ { … }
注:
1、~ 為區(qū)分大小寫匹配
2、~* 為不區(qū)分大小寫匹配
3、!~和!~*分別為區(qū)分大小寫不匹配及不區(qū)分大小寫不匹配
示例一:
location / { }
匹配任何查詢,因?yàn)樗姓?qǐng)求都以 / 開頭。但是正則表達(dá)式規(guī)則將被優(yōu)先和查詢匹配。
示例二:
location =/ {}
僅僅匹配/
示例三:
location ~* \.(gif|jpg|jpeg)$ {
rewrite \.(gif|jpg)$ /logo.png;
}
注:不區(qū)分大小寫匹配任何以gif,jpg,jpeg結(jié)尾的文件
三、ReWrite語(yǔ)法
last - 基本上都用這個(gè)Flag。
break - 中止Rewirte,不在繼續(xù)匹配
redirect - 返回臨時(shí)重定向的HTTP狀態(tài)302
permanent - 返回永久重定向的HTTP狀態(tài)301
1、下面是可以用來(lái)判斷的表達(dá)式:
-f和!-f用來(lái)判斷是否存在文件
-d和!-d用來(lái)判斷是否存在目錄
-e和!-e用來(lái)判斷是否存在文件或目錄
-x和!-x用來(lái)判斷文件是否可執(zhí)行
2、下面是可以用作判斷的全局變量
例:http://localhost:88/test1/test2/test.php
$host:localhost
$server_port:88
$request_uri:http://localhost:88/test1/test2/test.php
$document_uri:/test1/test2/test.php
$document_root:D:\nginx/html
$request_filename:D:\nginx/html/test1/test2/test.php
四、Redirect語(yǔ)法
server {
listen 80;
server_name start.igrow.cn;
index index.html index.php;
root html;
if ($http_host !~ "^star\.igrow\.cn$"

rewrite ^(.*) http://star.igrow.cn$1 redirect;
}
}
五、防盜鏈location ~* \.(gif|jpg|swf)$ {
valid_referers none blocked start.igrow.cn sta.igrow.cn;
if ($invalid_referer) {
rewrite ^/ http://$host/logo.png;
}
}
六、根據(jù)文件類型設(shè)置過(guò)期時(shí)間
location ~* \.(js|css|jpg|jpeg|gif|png|swf)$ {
if (-f $request_filename) {
expires 1h;
break;
}
}
七、禁止訪問(wèn)某個(gè)目錄
location ~* \.(txt|doc)${
root /data/www/wwwroot/linuxtone/test;
deny all;
}
轉(zhuǎn):http://www.phpchina.com/html/70/t-162870.html,http://idev.yo2.cn/go/19761.html