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

为什么我的文档根目录显示在PATH_INFO、PATH_TRANSLATED和PHP_SELF中?

文档根目录(Document Root)是指在Web服务器上用于存放网站文件的根目录。当用户访问网站时,Web服务器会将用户请求的URL映射到服务器上的文件路径,而文档根目录就是这个文件路径的起始点。

在某些情况下,文档根目录的路径会出现在PATH_INFO、PATH_TRANSLATED和PHP_SELF中,具体原因如下:

  1. PATH_INFO:PATH_INFO是一种用于传递额外路径信息的环境变量。当URL中的路径信息超出了文档根目录之后,剩余的路径信息会被存储在PATH_INFO中。这样做的目的是为了让服务器能够正确解析URL,并将请求路由到正确的处理程序。
  2. PATH_TRANSLATED:PATH_TRANSLATED是根据PATH_INFO和文档根目录计算得出的一个变量,它表示请求的URL对应的服务器上的文件路径。文档根目录会被拼接到PATH_INFO之前,以得到完整的文件路径。
  3. PHP_SELF:PHP_SELF是一个包含当前脚本文件路径和文件名的变量。当使用PHP脚本处理用户请求时,PHP_SELF会包含文档根目录之后的路径信息,以及脚本文件的名称。这样可以方便地获取当前脚本的路径和文件名。

这些变量的存在使得开发人员能够方便地获取请求的URL路径信息,并进行相应的处理。在实际应用中,可以根据这些变量的值来进行URL路由、权限控制、路径解析等操作。

腾讯云相关产品和产品介绍链接地址:

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

相关·内容

PHPgetenv()函数

PHPgetenv(参数)函数是一个用于获取环境变量函数,根据提供不同参数可以获取不同环境变量,具体如下: “PHP_SELF” 当前正在执行脚本文件名,与document root 相关。...“SERVER_SOFTWARE” 服务器标识字串,响应请求时头信息给出。 “SERVER_PROTOCOL” 请求页面时通信协议名称版本。例如,“HTTP/1.0”。...“QUERY_STRING” 查询(query)字符串(URL 第一个问号? 之后内容)。 “DOCUMENT_ROOT” 当前运行脚本所在文档根目录服务器配置文件定义。...“SERVER_SIGNATURE” 包含服务器版本虚拟主机名字符串。 “PATH_TRANSLATED” 当前脚本所在文件系统(不是文档根目录基本路径。...这个修改遵守了CGI 规范,PATH_TRANSLATED 仅在PATH_INFO 被定义条件下才存在。

1.6K80

NGINX服务器下配置SSL证书

配置nginx服务器ssl证书要去nginx目录下conf文件夹下nginx.conf寻找server,找到监听443端口server,把#打开(即关闭掉注释),修改以下配置(仅供参考)     ...此时你可以去地址栏输入你配置域名https//1520.top  地址栏则提示绿色安全标志(当然这个证书一定要是域名匹配正规机构颁发,如果使用OpenSSL则提示证书隐患,不信任导致不安全标志)...window下朋友们注意下:配置ssl证书路径时候要使用("/"表示层级,不要使用"\"表示),简单来说就是使用url路径,不要使用文件路径(D:\www\a.key)比如这个路径配置时候不能用否则将无法启动...就是使用url地址栏斜线(正斜线,不要使用文件路径反斜线)进行分割层级目录!导致配置出错,找原因困扰很久就是这个斜线问题!...您建议是最大进步!

5.3K40

php之$_SERVER解析

$_SERVER['SERVER_NAME'] //服务器主机名称。 $_SERVER['PHP_SELF']//正在执行脚本文件名 $_SERVER['argv'] //传递给该脚本参数。...$_SERVER['SERVER_SOFTWARE'] //服务器标识字串 $_SERVER['SERVER_PROTOCOL'] //请求页面时通信协议名称版本 $_SERVER['REQUEST_METHOD...$_SERVER['DOCUMENT_ROOT'] //当前运行脚本所在文档根目录 $_SERVER['HTTP_ACCEPT'] //当前请求 Accept: 头部内容。...$_SERVER['SERVER_ADMIN'] #管理员信息 $_SERVER['SERVER_PORT'] #服务器所使用端口 $_SERVER['SERVER_SIGNATURE'] #包含服务器版本虚拟主机名字符串...$_SERVER['PATH_TRANSLATED'] #当前脚本所在文件系统(不是文档根目录基本路径。 $_SERVER['SCRIPT_NAME'] #包含当前脚本路径。

75920

PHP$_SERVER详解参数&说明

$_SERVER参数详解 $_SERVER['PHP_SELF'] #当前正在执行脚本文件名,与 document root相关。 $_SERVER['argv'] #传递给该脚本参数。...$_SERVER['SERVER_NAME'] #当前运行脚本所在服务器主机名称。 $_SERVER['SERVER_SOFTWARE'] #服务器标识字串,响应请求时头部给出。...$_SERVER['SERVER_PROTOCOL'] #请求页面时通信协议名称版本。例如,“HTTP/1.0”。 $_SERVER['REQUEST_METHOD'] #访问页面时请求方法。...$_SERVER['QUERY_STRING'] #查询(query)字符串。 $_SERVER['DOCUMENT_ROOT'] #当前运行脚本所在文档根目录服务器配置文件定义。...$_SERVER['PATH_TRANSLATED'] #当前脚本所在文件系统(不是文档根目录基本路径。 $_SERVER['SCRIPT_NAME'] #包含当前脚本路径。

1.6K40

360webscan防注入脚本全面绕过

其实之前一直没有研究过正则绕过,当然这次也不是正则绕过,但最终目的是达到了,全面绕过了360webscan对于注入与xss防护。     当然360忽略了,于是也就公开了呗。...使用360webscan一大cms就是cmseasy,我们就借用cmseasy360webscan来说明。     ...那我们来看这个函数,这个函数第一个字段是白名单内容,我们webscan_cache.php可以找到: //后台白名单,后台操作将不会拦截,添加"|"隔开白名单目录下面默认是网址带 admin /...但有个小问题很多人没有注意到,当url是PATH_INFO时候,比如     https://www.leavesongs.com/hehe/index.php/phithon     那么PHP_SELF...不过这个时候cssjs也变了(因为基地址有问题),但并不影响sql语句xss执行,注入什么还是能继续。     我们再随便试一个不知什么版本cmseasy,都没有拦截: ?

2.2K10

P001PHP开发之PHP实现取得HTTP请求原文相关信息

同样,PHP编程中经常需要用到一些服务器一些信息: $_SERVER['PHP_SELF'] #当前正在执行脚本文件名,与 document root相关。...$_SERVER['SERVER_NAME'] #当前运行脚本所在服务器主机名称。 $_SERVER['SERVER_SOFTWARE'] #服务器标识字串,响应请求时头部给出。...$_SERVER['SERVER_PROTOCOL'] #请求页面时通信协议名称版本。例如,“HTTP/1.0”。 $_SERVER['REQUEST_METHOD'] #访问页面时请求方法。...$_SERVER['QUERY_STRING'] #查询(query)字符串。 $_SERVER['DOCUMENT_ROOT'] #当前运行脚本所在文档根目录服务器配置文件定义。...$_SERVER['PATH_TRANSLATED'] #当前脚本所在文件系统(不是文档根目录基本路径。 $_SERVER['SCRIPT_NAME'] #包含当前脚本路径。

54520

Server.MapPath()用法

大家好,又见面了,是你们朋友全栈君。 Server.MapPath(string path)作用是返回与Web服务器上指定虚拟路径相对应物理文件路径。...有时程序调试时会提示“当前上下文中不存在名称“Server””错误,从而不支持函数Server.MapPath()使用。...(路径) 说明:对于Server.MapPath()具体返回什么内容,不同环境下得到结果也许并不相同。...如果是根目录,就是根目录; 如果是虚拟目录,就是虚拟目录所在位置 如:C:\Inetpub\wwwroot\Example\ 注:等效于Server.MapPath(“~”)...当前网站目录为E:\wwwroot 应用程序虚拟目录为E:\wwwroot\company 浏览页面路径为E:\wwwroot\company\news\show.asp show.asp

55320

代码审计基础之还不滚进来学习

> 现在开始进入作用域讲解,如下,文中说过作用域是脚本变量是否可引用或直接使用一个知识点 如在函数外申请变量可以被所有的脚本进行使用,当然我们函数如果需要引用的话需要加上global关键词。...$_SESSION $_SERVER 变量重要元素: $_SERVER['PHP_SELF'] 当前执行脚本文件名,与 DOCUMENT ROOT 有关。...例如,地址为 HTTP://EXAMPLE.COM/TEST.PHP/FOO.BAR 脚本中使用 $_SERVER['PHP_SELF'] 将得到 /TEST.PHP/FOO.BAR。...$_SERVER['PATH_TRANSLATED'] 当前脚本所在文件系统(非文档根目录基本路径。这是服务器进行虚拟到真实路径映像后结果。...从服务器上获取数据,把参数数据队列加到提交表单 ACTION属性所指URL,值表单内各个字段一一对应,URL 可以看到 ?

96940

【Typecho博客小白搭建教程】你离拥有自己blog只差

经历种种问题后,决定亲自写一篇教程,就是希望能让小白走进这个大门,而不是门外来回试探,最终放弃。...docker作为当前主流虚拟容器,谁用谁知道) 下面开始分享服务器创建血泪史(一步一步挖坑填坑形成这篇教程,总之不易) 好,不多说,搭建文档如下 1.安装linux(此处选择是ubuntu),...:8080:8080 --name php dingzhenhua/php 6.启动运行typecho 6.1opt目录下新建文件夹app(名称自由取,但下面会用到,需要记住哦),在下面新建mysqldata...typecho文件夹,放入如下东西 typecho文件夹里放官网下载typecho程序包 (切换到根目录下 cd / ; 然后再chmod 777权限。...php)(/.*)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED

65110

【玩转腾讯云】腾讯云域名https申请配置Centos+nginx

完成之后会出现待验证,等待一段时间,后台自动验证之后就可以先下载 会有黄字提醒下面这个,不用管 您有1个SSL证书未完成身份验证,请尽快处理 一步一步走,申请成功之后,等一段时间(没超过一小时)。...可以下载 2.把下载下来证书上传到服务器 下载下来文件有下面几个,服务器配置用是哪个就选择哪个使用 截屏2020-03-08下午9.04.24.png 选择nginx里两个文件: .cn_bundle.crt....cn.key 服务器项目代码目录,创建crt文件夹,把两个文件上传到crt文件夹是laravel项目,所以实在这个目录下 截屏2020-03-08下午9.08.28.png 3.配置nginx...nginx配置下修改,你可能是别的路径 sudo vim /etc/nginx/conf.d/default.conf server { listen 80;...$fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info

18.4K65
领券