if ($http_user_agent ~MSIE){
rewrite ^(.*)$/msie/$1 break;
}
if (!-f$request_filename){
rewrite ^/img/(.*)$/site/$host/images/$1 last;
} location ~ .*\.(sh|bash)?$
{
return 403;
} rewrite指令的最后一项参数为flag标记,支持的flag标记主要有以下几种:
last :相当于Apache里德(L)标记,表示完成rewrite;
break;本条规则匹配完成后,终止匹配,不再匹配后面的规则
redirect:返回302临时重定向,浏览器地址会显示跳转后的URL地址
permanent:返回301永久重定向,浏览器地址栏会显示跳转后的URL地址
last和break用来实现URL重写,浏览器地址栏URL地址不变
location /b {
autoindex on;
alias /usr/local/nginx/html/redhat;
rewrite ^/b/?$ /bbs permanent;
}
location /bbs {
autoindex on;
alias /usr/local/nginx/html/bbs;
}
rewrite ^/b/?$ /bbs permannet;
if ($http_user_agent ~ Firefox) {
rewrite ^(.*)$ /firefox/$1 break;
}
if ($http_user_agent ~ MSIE) {
rewrite ^(.*)$ /msie/$1 break;
}
if ($http_user_agent ~ Chrome) {
rewrite ^(.*)$ /chrome/$1 break;
}
location ~*\.(gif|jpg|png|swf|flv)${
valid_referers none blocked www.cheng.com*.test.com;
if ($invalid_referer)
rewrite ^/(.*) http://www.cheng.com/error.html
}
server {
listen 80;
server_name cheng.example.com;
write ^(.*)$ http://zhang.example.com/$1 permanent;
location / {
root html;
index index.html index.htm;
}
Nginx Rewrite规则初探,布布扣,bubuko.com
原文:http://blog.csdn.net/xifeijian/article/details/20955253