首页 > Nginx, 项目实施 > nginx配置文件目录重定向
201303月22

nginx配置文件目录重定向

简要说明

具体我们以代码来进行说明,因为程序猿最喜欢的就是代码和女人,呵呵
下面这段代码是配置nginx将某个目录下面的文件重定向到另外一个目录,其中$2对应第二个括号(.*)中对应的字符串:

location /iitshare/ {
rewrite ^(/iitshare/.*)/m/(.*)\..*$ $1/iitshare-rewrite/$2.gz break;
}

其中Nginx的 Rewrite Flags 的含义如下:
1、last – 基本上都用这个Flag。
2、break – 中止Rewirte,不在继续匹配
3、redirect – 返回临时重定向的HTTP状态302
4、permanent – 返回永久重定向的HTTP状态301
在nginx配置文件中server和location两种情况下可以使用nginx的IF条件判断,条件可以为以下几种:

匹配判断

~ 为区分大小写匹配; !~为区分大小写不匹配
~* 为不区分大小写匹配;!~为不区分大小写不匹配
比如下面设置nginx在用户使用ie的使用重定向到/iitshare-ie目录下:

if ($http_user_agent ~ MSIE) {
rewrite ^(.*)$ /iitshare-ie/$1 break;
}

文件和目录判断

-f和!-f判断是否存在文件
-d和!-d判断是否存在目录
-e和!-e判断是否存在文件或目录
-x和!-x判断文件是否可执行
比如下面配置nginx在文件和目录不存在的时候重定向:

if (!-e $request_filename) {
proxy_pass http://127.0.0.1;
}
return

文章作者: iitshare
本文地址:http://www.iitshare.com/nginx-configuration-file-directory-redirection.html
版权所有 © 转载时必须以链接形式注明作者和原始出处!

更多
本文目前尚无任何评论.

发表评论