location

location匹配uri

默认时匹配/[location /]]

location:匹配的规则和优先级。

nginx:常用的变量,要求优先掌握

rewrite:重定向功能。掌握理解

location匹配

正则表达式:

元字符

. :任意单个字符,包括汉字 \.

^:起始位置

$:结束位置

*:匹配前面的字符0次或者多次

+:匹配前面的字符一次或者多次

?:一次或者0次

\:转义符

[0-9 a-z A-Z]:匹配0-9,匹配a-z,匹配A-Z

[a]:只能匹配a

{a}:;连续重复出现几次

{n,m}:最少出现几次,最多出现几次。

逻辑或: |

正则表达式:匹配的是文件内容,ls

URI:统一资源标识符,是一种字符串标识,用于标识抽象的或者物理资源

文件,图片,视频

nginx当中:uri

www.test.com/images/1.jpg

location就是用来匹配uri的:

1.精确匹配:location=/{...}

2.正则匹配:location ~/{...}

3一般匹配:location/ {...}

匹配的规则:

=:精确匹配,完全匹配,错一个字都匹配不上,必须完全一致

^-:匹配普通字符的,前缀匹配

-:区分大小写的匹配

-*:不区分大小写的匹配

!~:区分大小写的匹配,取的逻辑非,取反

!~*:不区分大小写的取反

-$:结束位置

location越精确越匹配(优先级越高)

匹配的优先级:

越精确,优先级越高

=优先级最高

-正则次之

/通用的优先级是最低的

优先级

location = 到 location ^ - 到location ~ * 到location/test/到location /

一旦匹配到就不会在向下匹配

1.第一个必选规则:

location=/{}

直接匹配根网站。通过域名访问网站页面是最多的。使用精确匹配,可以加快处理速度。首页

2.第二个规则

location ^ - /static/ {}

处理静态文件的请求,目录匹配,任选一个

3.location - * .(gif | jpg | png | css) 匹配图片使用的

4.通用规则

location / {

proxy_pass 指定代理,转发动态请求。 .php .jsp的请求,发送到后端。}

rewrite:重写,重定向

rewrite使用NGINX的全局变量或者是自己设置的变量,结合正则表达式和标志位实现url的变量

default_type text/plain;

表示如果没有在其他地方显示设置:content-type的头字段,默认响应为text/plain;纯文本格式

text/html:默认的响应类型,也就是我们说的页面

text/plain:纯文本格式,类似于.txt文件

text/css:css样式表的类型。.csss

text/JavaScript:java的脚本,.js。前端文件,也可以理解是Java解析的程序文件

rewrite执行顺序:

1.执行server快当中的rewrite的

2.执行location匹配

3.如果location当中还有rewrite,继续执行

不停止rewrite,就会进入死循环铭智能十次,然后报错,报错的状态码是500

rewrite的语法:

rewrite [flag]

以rewrite:开始重定向

regex:正则匹配的规则

replacement:表示跳转后的内容,你要重定向的url

flag:标志位

permanent:永久重定向:返回码是301

redirect:临时重定向,显示的返回码是302

永久重定向:302,用于短期变更(网站维护,或者升级更新)

搜索引擎时不时转移权重和排名列到新的url

304表示获取的是本地缓存

break:是重定向,但是不会改变url,而且只会请求一次即可停止。

last:负责匹配完成后,继续向下匹配,只要有last,就继续匹配。配置的时候需要注意,防止死循环

你可能感兴趣的:(服务器,运维)