关于 url 参数,大部分老铁应该都了解了,这里就简单说明一下,以如下 url 为例:
- www.zze.xyz?name=zze&job=student
在该 url 中,?
后面的部分的红色字体部分就是 url 参数,它们以键值对的形式存在,即该 url 中有如下参数:
参数名 | 值 |
---|---|
name | zze |
job | student |
了解了什么是 url 参数之后,我们就可以说一说如何在 Nginx 中直接获取 url 参数了。
$args 变量
先配置如下虚拟主机:
server {
listen 80;
types{}
default_type text/html;
return 200 $args;
}
我这里使用的主机 IP 为
10.0.1.200
。
即我们请求该虚拟主机会直接返回给我们 $args
变量的值,那请求 10.0.1.200?name=zze&job=student
试试:
$ curl '10.0.1.200?name=zze&job=student'
name=zze&job=student
即 $args
参数保存的是请求 URL 中所有参数。
$arg 变量
修改虚拟主机配置如下:
先配置如下虚拟主机:
server {
listen 80;
types{}
default_type text/html;
return 200 $arg_name;
}
先说一下 $arg
变量的使用,$arg
变量用来获取指定 url 中指定参数的值,需要将要获取参数的参数名与 $arg
使用 _
进行拼接,如 $arg_name
就是获取 url 中 name
参数的值。
下面验证一下吧:
$ curl '10.0.1.200?name=zze&job=student'
zze
很简单对吧,没啥多说的~
评论区