在Nginx配置中,以$
符号开头的变量通常是内置变量或者从请求上下文中提取的变量。这些变量用于获取请求的各种信息,例如请求头、URI等。以下是一些常见的以$
符号开头的变量:
$uri
:请求中的URI(不包括查询字符串)。$document_root
:当前请求的文档根目录。$request_uri
:包含完整请求URI的字符串。$query_string
:请求中的查询字符串。$host
:请求的主机头。$http_user_agent
:客户端的User-Agent头。$request_method
:请求方法,如GET、POST等。$remote_addr
:客户端的IP地址。$server_name
:当前请求的服务器名。$server_port
:当前请求的服务器端口。这些变量可以用于创建动态的Nginx配置,比如根据请求的URI执行不同的操作,或者根据客户端的IP地址进行不同的处理。
你也可以自定义变量,例如:
set $my_custom_variable "Hello, World!";
然后,你可以在配置中使用 $my_custom_variable
引用这个自定义变量。
这些变量的详细说明和使用方法可以在Nginx官方文档中找到:Nginx Variables
Nginx中的字符:
\
进行转义,因为.
在正则表达式中是一个特殊字符,而我们想要匹配实际的点示例:
location = / {
#规则A
}
location = /login {
#规则B
}
location ^~ /static/ {
#规则C
}
location ~ \.(gif|jpg|png|js|css)$ {
#规则D
}
location ~* \.png$ {
#规则E
}
location !~ \.xhtml$ {
#规则F
}
location !~* \.xhtml$ {
#规则G
}
location / {
#规则H
}
动静分离配置:
静态动态分离,除了静态资源以外的请求都交给Tomcat处理?
location / {
proxy_pass http://[tomcatip]:[80]
}
location ^~ /static/ {
root /webroot/static/;
}
location ~* \.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ {
root /webroot/res/;
}
?
在Nginx中,/$1
是一个用于重定向的变量。通常,$1
表示匹配的第一个正则表达式捕获组的值。这通常用于在 location
中使用正则表达式来捕获部分 URI,并在重定向时将其包含在新的 URI 中。
例如:
nginxCopy code
location ~ ^/user/(\w+)$ { rewrite ^/user/(\w+)$ /profile/$1 permanent; }
在这个例子中,如果请求的 URI 匹配正则表达式 ^/user/(\w+)$
,其中 (\w+)
是一个捕获组,表示一个或多个单词字符,那么 Nginx 将使用 rewrite
将其重定向到 /profile/$1
,其中 $1
包含捕获的用户名部分。
所以,/$1
是在重定向过程中用于引用正则表达式捕获组的值的一种方式。
请注意,$1
只有在正则表达式中使用捕获组时才有意义,而且这只是一个示例。具体使用可能取决于你的实际需求和项目结构
?
location ~ ^/user/(.*)$ {
# 处理匹配的请求,可以使用 $1 引用捕获组的值
}