微服务 教程
1085个小节阅读:195.7k
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
语法:
xxxxxxxxxx
URL // http://ip:port/
location [ = | ~ | ~* | ^~] uri {
...
}
匹配规则 | 含义 | 示例 |
---|---|---|
= | 精确匹配 | location = /images/ {...} |
~ | 正则匹配,区分大小写 | location ~ .(jpg | gif)$ {...} |
~* | 正则匹配,不区分大小写 | location ~* .(jpg | jif)$ {...} |
^~ | 匹配到即停止搜索 | location ^~ /images/ {...} |
不带任何符号 | location / {...} |
示例1
没有修饰符 表示:必须以指定模式开始,如:
xxxxxxxxxx
server {
server_name *.*;
location /abc {
……
}
}
注意如下是对的:
http://baidu.com/abc http://baidu.com/abc?p1=12312&name=w24 http://baidu.com/abc/ http://baidu.com/abcde
示例2
= 表示:必须与指定的模式精确匹配
xxxxxxxxxx
server {
server_name *.*;
location = /abc {
……
}
}
注意:
那么,如下是对的: http://baidu.com/abc http://baidu.com/abc?p1 如下是错的: http://baidu.com/abc/ http://baidu.com/abcde
示例3
~ 表示:指定的正则表达式要区分大小写
xxxxxxxxxx
server {
server_name *.*;
location ~ ^/abc$ {
……
}
}
注意:
对的
http://baidu.com/abc?name=wcc&password=123
错误
示例4
~* 表示:指定的正则表达式不区分大小写
xxxxxxxxxx
server {
server_name *.*;
location ~* ^/abc$ {
……
}
}
注意:
那么,如下是对的: http://baidu.com/abc http://baidu..com/ABC http://baidu..com/abc?p1=11&p2=22 如下是错的: http://baidu..com/abc/ http://baidu..com/abcde
示例
xxxxxxxxxx
location = / {
# 只匹配请求 "/"
[ configuration A ]
}
location / {
# 匹配任何请求,因为所有请求都是以"/"开始
# 但是更长字符匹配或者正则表达式匹配会优先匹配
[ configuration B ]
}
location /documents/ {
# 匹配所有 /documents/ 开头的请求,在没有正则表达
# 式匹配时选择该locaiton
[ configuration C ]
}
location ^~ /images/ {
# 匹配任何以 /images/ 开始的请求,并停止匹配其它location
[ configuration D ]
}
location ~* .(gif|jpg|jpeg)$ {
# 匹配以 gif, jpg, or jpeg结尾的请求.
# 但是所有 /images/ 目录的请求将由 [Configuration D]处理.
[ configuration E ]
}
结论:
- / -> 匹配A
- /index.html -> 匹配B
- /documents/a.html -> 匹配C
- /images/1.gif -> 匹配D
- /documents/1.jpg -> 匹配E
Web服务器接收到网络请求之后,首先要在服务器端指定目录中寻找请求资源。在Nginx服务器中,指令root就是用来配置这个根目录的。
语法结构:
xxxxxxxxxx
root path;
path为Nginx服务器接收到请求以后查找资源的根目录路径。 示例:
xxxxxxxxxx
location /data/
{
root /localtion1;
}
注意:
当location块接收到“data/index.htm”的请求时,将在几locationtest1/data/目录下找到index.htm响应请求。
1. 在Nginx核心配置文件中location指令url匹配顺序_____。
A =、^~、~*、~
B ^~、=、~*、~
C =、^~、~、~*
D ~、^~、~*、=
1=> C