前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Nginx配置中Location语法详解

Nginx配置中Location语法详解

作者头像
苦咖啡
发布2018-05-08 17:02:35
发布2018-05-08 17:02:35
1.3K0
举报
文章被收录于专栏:我的博客

1、语法:location [=|~|~*|^~] /uri/ { … } = 为完全匹配 ~ 为区分大小写匹配 ~* 为不区分大小写匹配 !~和!~* 分别为区分大小写不匹配及不区分大小写不匹配 ^~ 开头表示uri以某个常规字符串开头 首先匹配 =,其次匹配^~, 其次是按文件中顺序的正则匹配, 最后是交给 / 通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求。 注意规则匹配到则执行匹配 2、举例 设置缓存 location ~* \.(js|css|jpg|jpeg|gif|png|swf)$ { if (-f $request_filename) { expires 1h; break; } } 禁止访问txt和doc目录 location ~* \.(txt|doc)${ root /data/www/wwwroot; deny all; } 防盗链 location ~* \.(gif|jpg|swf)$ { valid_referers none blocked demo.0377joyous.com 0377joyous.com;#命令语法参考http://nginx.org/cn/docs/http/ngx_http_referer_module.html#valid_referers if ($invalid_referer) { rewrite ^/ http://$host/403.png; } } 3、ReWrite语法 last – 基本上都用这个Flag。 break – 中止Rewirte,不在继续匹配 redirect – 返回临时重定向的HTTP状态302 permanent – 返回永久重定向的HTTP状态301

4、判断全局变量

-f和!-f用来判断是否存在文件 -d和!-d用来判断是否存在目录 -e和!-e用来判断是否存在文件或目录 -x和!-x用来判断文件是否可执行

5、变量说明 eg:http://0377joyous.com/test/test.php $host:域名0377joyous.com $server_port:80 $request_uri:请求地址,http://0377joyous.com/test/test.php $document_uri:文档地址/test/test.php $document_root:文档目录/var/www/html $request_filename:文件路径,/var/www/html/test/test.php

备注: 1)匹配要看先后顺序 2)注意优先级 3)注意变量条件 4)命中跳转(小心死循环)

更多内容点击这里

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2013年9月4日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档