Nginx简单语法

2019-06-03 20:49:13 9631

1.描述

nginx 配置文件中语法

2.系统定义变量名

查看nginx有权引用的变量名: more /application/nginx/conf/fastcgi.conf



3.常用命令

if

语法:


if 空格 (条件) {

重写模式

}

1

2

3

样例:


// 请求方法

if ($request_method = GET) {

return 405;

}


//请求IP

if  ($remote_addr = 192.168.1.100) { 

return 403;

}


//正则表达式 判断浏览器是否是IE

if ($http_user_agent ~ MSIE) { 

rewrite ^.*$ /ie.htm;

break; #(不break会循环重定向)

}


//统一设置404页面

if (!-e $document_root$fastcgi_script_name) {

rewrite ^.*$ /404.html

break;  #注:此处还要加break,

     #观察访问日志, 日志中显示的访问路径,依然是GET /dsafsd.html HTTP/1.1

    #提示: 服务器内部的rewrite和302跳转不一样.

    #跳转的话URL都变了,变成重新http请求404.html, 而内部rewrite, 上下文没变,

     #就是说 fastcgi_script_name 仍然是 dsafsd.html,因此 会循环重定向.

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

set

语法:


set  #变量

1

样例:


//判断IE并重写,且不用break; 我们用set变量来达到目的

if ($http_user_agent ~* msie) {

set $isie 1;

}

if ($fastcgi_script_name = ie.html) {

  set $isie 0;

}

if ($isie 1) {

  rewrite ^.*$ ie.html;

}

1

2

3

4

5

6

7

8

9

10

return #返回状态码


break #跳出rewrite


rewrite

语法:


rewrite 正则表达式  定向后的位置 模式

1

应用位置:


server、location、if


样例:


goods-3.html ---->goods.php?id=3

rewrite goods-([\d]+)\.html$  goods.php?id=$1;

--------------------- 

作者:silly8543 

来源:CSDN 

原文:https://www.landui.com/cen50958/article/details/89684758 

版权声明:本文为博主原创文章,转载请附上博文链接!


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: