Nginx中获取URL参数

Nginx中获取URL参数

微信搜索 zze_coding 或扫描 👉 二维码关注我的微信公众号获取更多资源推送:

关于 url 参数,大部分老铁应该都了解了,这里就简单说明一下,以如下 url 为例:

在该 url 中,? 后面的部分的红色字体部分就是 url 参数,它们以键值对的形式存在,即该 url 中有如下参数:

参数名
namezze
jobstudent

了解了什么是 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

很简单对吧,没啥多说的~

Copyright: 采用 知识共享署名4.0 国际许可协议进行许可

Links: https://www.zze.xyz/archives/nginx-get-url.html

Buy me a cup of coffee ☕.