关于 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
很简单对吧,没啥多说的~
评论区