确定 PHP 中脚本的地址:PHP_SELF、PATH_INFO、SCRIPT_NAME、REQUEST_URI
开发 PHP 应用程序时,了解 PHP_SELF、PATH_INFO 之间的区别、SCRIPT_NAME 和 REQUEST_URI 对于可靠地确定脚本的地址至关重要。
PHP_SELF 表示脚本的完整 URL,包括查询字符串。在大多数情况下,它是检索脚本完整地址的最可靠选项。但是,如果请求经过 mod_rewrite 指令,PHP_SELF 可能无法反映实际请求的 URL。
PATH_INFO 存储脚本名称后面的 URL 部分。使用 mod_rewrite 时此信息可用,但在某些情况下可能为空。
SCRIPT_NAME 包含正在执行的脚本的实际文件名,不包括任何路径信息。与 PHP_SELF 不同,SCRIPT_NAME 不受 mod_rewrite 影响。
REQUEST_URI 捕获完整的请求 URI,包括路径、查询字符串和任何锚片段。在使用代理服务器或处理重定向时非常有用。
为了说明差异,这里有一些示例:
示例 1: 使用 mod_rewrite 将 http://example.com/test.php/foo/bar 重定向到 http://example.com/index.php/test.php/foo/bar 时:
示例 2: 在 http://example.com/test.php?foo=bar 中使用非空查询字符串时:
示例3:使用mod_rewrite将http://example.com/test.php重定向到http://example.com/test2.php时:
通过了解这些差异,您可以选择最合适的变量满足您的特定需求,确保可靠地访问脚本地址,无论 Web 服务器配置或 URL 操作如何。
以上是PHP_SELF、PATH_INFO、SCRIPT_NAME 和 REQUEST_URI 在确定脚本地址方面有何不同?的详细内容。更多信息请关注PHP中文网其他相关文章!