PHP_SELF vs PATH_INFO vs SCRIPT_NAME vs REQUEST_URI:了解差异
开发 PHP 应用程序时,了解 PHP_SELF 和 PATH_INFO 之间的区别至关重要、SCRIPT_NAME 和 REQUEST_URI。这些服务器变量提供有关当前脚本地址的信息,可用于导航和 URL 重写。
PHP_SELF 通常包含当前脚本的完整 URI,包括脚本名称和任何路径信息。但是,在请求采用 http://example.com/test.php/foo/bar 形式的情况下,它可能与 SCRIPT_NAME 不同。
PATH_INFO 包含路径请求 URI 末尾的信息。但是,仅当请求 URI 采用上述形式时才会填充。
SCRIPT_NAME 表示当前脚本的名称,不包括任何路径信息。它通常与 PHP_SELF 相同,除非 URI 中包含 /。
REQUEST_URI 包含完整的请求 URI,包括路径、查询字符串和锚点。当存在查询字符串或使用服务器端重定向时,它与 PHP_SELF 和 SCRIPT_NAME 不同。
为了说明差异,这里有一些实际示例:
示例 1:
http://example.com/test.php/foo/bar
示例 2:
http://example.com/test.php?foo=bar
示例 3:
http://example.com/test。 php (使用 mod_rewrite 重定向)
示例 4:
IIS 中的自定义错误页面:
http://example.com/test.php
通过了解这些差异,您可以有效地利用适当的服务器变量来处理 PHP 中的导航、URL 重写和错误处理应用程序。
以上是PHP_SELF、PATH_INFO、SCRIPT_NAME 和 REQUEST_URI:有什么区别?的详细内容。更多信息请关注PHP中文网其他相关文章!