首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在PHP"$ _SERVER ['REQUEST_URI']"请求中获取变量的最后一个字?

在PHP中,您可以使用以下方法来获取$ _SERVER['REQUEST_URI']请求中的最后一个字符:

代码语言:php
复制
$request_uri = $_SERVER['REQUEST_URI'];
$last_char = substr($request_uri, -1);

这里,我们使用substr()函数从$request_uri字符串中提取最后一个字符。-1作为第二个参数表示从字符串的末尾开始提取一个字符。

现在,$last_char变量将包含$ _SERVER['REQUEST_URI']请求中的最后一个字符。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

最新版 nginx内置变量 大全

下面是nginx支持所有内置变量: $arg_name 请求参数名,即“?”...; 变量后半部分“name”可以替换成任意请求头字段,如在配置文件需要获取http请求头:“Accept-Language”,那么将“-”替换为下划线,大写字母替换为小写,形如:$http_accept_language...$request_uri 这个变量等于包含一些客户端请求参数原始URI,它无法修改,请查看$uri更改或重写URI,不包含主机名,例如:”/cnphp/test.php?...请求的当前URI(不带请求参数,参数位于$args),可以不同于浏览器传递$request_uri值,它可以通过内部重定向,或者使用index指令进行修改,$uri不包含主机名,”/foo/bar.html.../test1/test2/test.php $request_method        1.0.8        请求方法,比如"GET"、"POST"等; $request_uri

4.3K00
  • 关于WAF那些事

    最后服务器和数据库最终获取参数会是: 1 union select 1,2,3,4 from admin 此方法还存在另外一种情况,多个不同widechar可能会被转换为同一个字符。...3、通过 $_SERVER[‘REQUEST_URI’] 方式获得参数并不会对参数某些特殊字符进行转换。 ? 这里代码中有两个waf。...当数据流到达进入到第二个WAF时,由于代码是通过 $_SERVER[‘REQUEST_URI’] 取参数,而我们前面开头第三个知识点已经介绍过了 $_SERVER[‘REQUEST_URI’] 是不会将参数特殊符号进行转换...在PHP情况下,我们看到是通过 request 方式传入数据,而phpREQUEST变量默认情况下包含了 GET ,POST 和 COOKIE 数组。...2、&字符处理 某些WAF在对HTTP请求数据包参数进行检测时,使用 & 字符对多个参数进行分割,然后分别进行检测,: http://www.test.com/1.php?

    2.9K31

    nginx常用配置

    当前请求文档根目录或别名 $uri 请求的当前URI(不带请求参数,参数位于$args),可以不同于浏览器传递$request_uri值,它可以通过内部重定向...主机名 $http_name 匹配任意请求头字段; 变量后半部分“name”可以替换成任意请求头字段,如在配置文件需要获取http请求头:...$request_uri 这个变量等于包含一些客户端请求参数原始URI,它无法修改,请查看$uri更改或重写URI,不包含主机名,例如:”/cnphp/test.php?...$request_time 以毫秒分辨率请求处理时间,以秒为单位; 从客户端读取第一个字节之间时间并在最后一个字节发送到客户端后进行日志写入 $status...$request_completion 如果请求成功,值为”OK”,如果请求未完成或者请求不是一个范围请求最后一部分,则为空。

    84212

    Nginx结构原理全解析(15)

    Nginx变量 一.全局变量 $args #请求参数值 $query_string #同 $args $arg_NAME...,否则为空字符串 $uri #请求的当前URI(不带请求参数,参数位于$args),可以不同于浏览器传递$request_uri值,它可以通过内部重定向,或者使用...; 从读取客户端一个字节开始计时 $request_uri #这个变量等于包含一些客户端请求参数原始URI,它无法修改,请查看$uri更改或重写URI,不包含主机名,例如:...,需要注意是:为了避免访问linux系统内核,应将ip地址提前设置在配置文件 $server_name #服务器名 $server_port #服务器端口...#匹配任意请求头字段;变量后半部分NAME可以替换成任意请求头字段,如在配置文件需要获取http请求头:"Accept-Language",$http_accept_language即可 $http_cookie

    35630

    NGINX宏观手记

    变量 内置变量存放在 ngx_http_core_module 模块变量命名方式和apache 服务器变量是一致。...下面是nginx支持所有内置变量 变量名 注释 $arg_name 请求参数名,即“?”...; 变量后半部分“name”可以替换成任意请求头字段,如在配置文件需要获取http请求头:“Accept-Language”,那么将“-”替换为下划线,大写字母替换为小写,形如:$http_accept_language...$request_uri 这个变量等于包含一些客户端请求参数原始URI,它无法修改,请查看$uri更改或重写URI,不包含主机名,例如:”/cnphp/test.php?...服务器时间(LOG Format 格式) (1.3.12, 1.2.7) $uri 请求的当前URI(不带请求参数,参数位于$args),可以不同于浏览器传递$request_uri值,它可以通过内部重定向

    40520

    NGINX 宏观手记

    变量 内置变量存放在 ngx_http_core_module 模块变量命名方式和apache 服务器变量是一致。...下面是nginx支持所有内置变量变量名 注释 $arg_name 请求参数名,即“?”...$request_completion 如果请求成功,值为”OK”,如果请求未完成或者请求不是一个范围请求最后一部分,则为空。...$request_uri 这个变量等于包含一些客户端请求参数原始URI,它无法修改,请查看$uri更改或重写URI,不包含主机名,例如:”/cnphp/test.php?...服务器时间(LOG Format 格式) (1.3.12, 1.2.7) $uri 请求的当前URI(不带请求参数,参数位于$args),可以不同于浏览器传递$request_uri值,它可以通过内部重定向

    38710

    phpstudy nginx配置_phpstorm配置php环境

    PHP页面的请求将会被nginx交给FastCGI进程监听IP地址及端口,由php-fpm(第三方fastcgi进程管理器)作为动态解析服务器处理,最后将处理结果再返回给nginx。...只要你按照cgi协议去编写程序,就能实现语言解释器与webwerver通信。php-cgi程序。但是webserver每收到一个请求,都会去fork一个cgi进程,请求结束再kill掉这个进程。...最后一个位置(fall back)是特殊,它会发出一个内部 “子请求” 而非直接在文件系统里查找这个文件!!!)...在该项设置了fastcgi_pass相关参数,将用户请求资源发给php-fpm进行解析,这里涉及到nginx FastCGI模块相关配置语法下文会介绍)。...而具体 URI 及参数是在 REQUEST_URI 传递给 FastCGI 和 WordPress 程序,因此不受 URI 变化影响!!!!。

    2.4K20

    nginx实操(3)内部变量说明

    下面是2.nginx支持所有内置变量: nginx内置变量 $arg_name 请求参数名,即“?”...; 变量后半部分“name”可以替换成任意请求头字段,如在配置文件需要获取http请求头:“Accept-Language”,那么将“-”替换为下划线,大写字母替换为小写,形如:$http_accept_language...$request_completion 如果请求成功,值为”OK”,如果请求未完成或者请求不是一个范围请求最后一部分,则为空。...$request_uri 这个变量等于包含一些客户端请求参数原始URI,它无法修改,请查看$uri更改或重写URI,不包含主机名,例如:”/cnphp/test.php?...uri 请求的当前URI(不带请求参数,参数位于$args),可以不同于浏览器传递$request_uri值,它可以通过内部重定向,或者使用index指令进行修改,$uri不包含主机名,”/foo

    1.4K10

    nginx rewrite 规则配置

    nginx 预定义变量 预定义变量 意义 arg_PARAMETER GET请求变量名PARAMETER参数值 args GET请求参数,foo=123&bar=blahblah binary_remote_addr...)字段,如果请求主机头不可用或者空,则为处理请求server名称 hostname 机器名使用 gethostname系统调用值 http_HEADER HTTP请求头中内容,HEADER为HTTP...如果请求成功,设为"OK";如果请求未完成或者不是一系列请求最后一部分则设为空 request_method 这个变量是客户端请求动作,GET或POST request_uri 包含一些客户端请求参数原始...bind参数 server_name 服务器名称 server_port 请求到达服务器端口号 server_protocol 请求使用协议,通常是HTTP/1.0或HTTP/1.1 uri 请求的当前...URI(不带请求参数,参数位于$args),不同于浏览器传递$request_uri值,它可以通过内部重定向,或者使用index指令进行修改, /foo/bar.html proxy_add_x_forwarded_for

    3.5K20

    nginx cache玩法

    第一层目录名取fastcgi_cache_key md5最后一个字符,第二层目录名取倒数2-3字符,:fastcgi_cache_key md5为b7f54b2df7773722d382f4809d65029c...一般根据host(域名),host(域名),request_uri(请求路径)等变量组合成fastcgi_cache_key。...最后,该proxy_cache指令激活缓存与父location块URL匹配所有内容(在示例为/)。...基于$request_uri变量请求URI)散列决定了每个请求使用哪个缓存,结果是对给定URI请求总是缓存在同一个缓存。 常见问题(FAQ) 本节回答有关NGINX内容缓存一些常见问题。...如果该文件在缓存是最新,那么NGINX将确认一个字节范围请求,并仅将该项目的指定字节提供给客户端。如果文件没有被缓存,或者文件已经失效,NGINX从原始服务器下载整个文件。

    1.3K50

    【 ES 私房菜】收集 Nginx 访问日志

    在Apache日志收集一文,我们已经设计好了必要日志格式,所以这里只需要将Apache对应日志变量改为Nginx就好了,配置代码如下: # 使用map获取客户端真实IP,这里比Apache方便多了...,否则为空字符串 $uri #请求的当前URI(不带请求参数,参数位于$args),可以不同于浏览器传递$request_uri值,它可以通过内部重定向,或者使用...,单位为秒,精度毫秒; 从读入客户端一个字节开始,直到把最后一个字符发送给客户端后进行日志写入为止。...$request_uri #这个变量等于包含一些客户端请求参数原始URI,它无法修改,请查看$uri更改或重写URI,不包含主机名,例如:"/cnphp/test.php?...#匹配任意请求头字段;变量后半部分NAME可以替换成任意请求头字段,如在配置文件需要获取http请求头:"Accept-Language",$http_accept_language即可 $http_cookie

    2.6K11

    Apache之Rewrite和RewriteRule规则梳理以及http强转https配置总结(完整版)

    /)、士博学习(/var/www/htmp/shibo-study/)等 3) 对于士博博客http请求,全部定向到https博客;对于士博论坛http请求,全部定向到https论坛; 最后,解决方案是在...除了纯文本,还可以包含: -  对Pattern反向引用($N) -  对最后匹配RewriteCond反向引用(%N) -  规则条件测试字符串(%{VARNAME})服务器变量 - ...此时再次进行处理URL已经不是原始URL了,而是经最后一个重写规则处理过URL。 它对应于Perlnext命令或C语言中continue命令。...http://%1%{REQUEST_URI} [R=301,L] 这里,当匹配到1%变量以后,子域名才会在%2(内部原子)抓取到,而我们需要正是这个%1变量。...如果这两个条件同时满足,请求将被重定向到安全服务URI.另外你可用{SERVER_PORT}做同样测试,443是常用安全服务端口  RewriteCond %{REQUEST_URI}

    31K51

    PHP path_info,Thinkphp controller not exists indexphp

    * 673行左右 * * * 获取当前请求URLpathinfo信息(含URL后缀) * @access public * @return...)打印$_SERVER['PATH_INFO'] 打印出来值大概为admin/index.php 然后在后续解析,又会把.替换成/ 也就是admin/index/php 对应我们报错app\admin...\controller\index\Php类 分析path_info来源 我们知道,$_SERVER超全局变量是在php自动维护,所以它来源肯定来自以下两个方面之一 php底层 web服务器 经过找一些资料...,我得知了该变量值是来自web服务器,也就是我使用nginx 宝塔安装nginx,会自动维护很多常用配置,比如不同版本php配置、path_info配置等等(有些自己编译安装php没有path_info...\index2\Php 可以证实是该配置影响结果 总结处理 Web服务器该配置影响了程序运行,那么我们如何解决该问题 ① 修改thinkphp底层,把path_info最后index.php替换掉 ②

    1.8K10

    Nginx通过Cookie做灰度就这么简单

    另外附一个nginx内置变量表 $args #请求参数值 query_string #同 args $arg_NAME #GET请求NAME值 $is_args #如果请求中有参数...,否则为空字符串 uri #请求的当前URI(不带请求参数,参数位于args),可以不同于浏览器传递request_uri值,它可以通过内部重定向,或者使用...off,or scgi_pass_request_body off $request_completion #如果请求成功,值为"OK",如果请求未完成或者请求不是一个范围请求最后一部分,则为空 $...#HTTP请求方法,通常为"GET"或"POST" $request_time #处理客户端请求使用时间; 从读取客户端一个字节开始计时 request_uri #这个变量等于包含一些客户端请求参数原始...#客户端请求Header头中cookie变量,前缀" http_NAME #匹配任意请求头字段;变量后半部分NAME可以替换成任意请求头字段,如在配置文件需要获取http

    1.5K10

    nginx+memcached构建页面缓存应用

    一.前言 nginxmemcached_module模块可以直接从memcached服务器读取内容后输出,后续请求不再经过应用程序处理,php-fpm、django,大大提升动态页面的速度。...nginx只负责从memcached服务器读取数据,要往memcached写入数据还得需要后台应用程序来完成,主动将要缓存页面缓存到memcached,可以通过404重定向到后端去处理。...memcachedkey可以通过memcached_key变量来设置,如以$uri。如果命中,那么直接输出内容,没有命中就意味着nginx需要从应用程序请求页面。...通过HTTP请求获取memcached状态数据。 7. 键名空间管理,来部分刷新缓存。 8....key=$request_uri; } location ~ .*\.php?

    1.1K20

    nginx+memcached构建页面缓存应用

    一.前言 nginxmemcached_module模块可以直接从memcached服务器读取内容后输出,后续请求不再经过应用程序处理,php-fpm、django,大大提升动态页面的速度。...nginx只负责从memcached服务器读取数据,要往memcached写入数据还得需要后台应用程序来完成,主动将要缓存页面缓存到memcached,可以通过404重定向到后端去处理。...memcachedkey可以通过memcached_key变量来设置,如以$uri。如果命中,那么直接输出内容,没有命中就意味着nginx需要从应用程序请求页面。...通过HTTP请求获取memcached状态数据。 7. 键名空间管理,来部分刷新缓存。 8....key=$request_uri; } location ~ .*\.php?

    70920
    领券