首頁 > 後端開發 > php教程 > PHP_SELF、PATH_INFO、SCRIPT_NAME 和 REQUEST_URI:有什麼不同?

PHP_SELF、PATH_INFO、SCRIPT_NAME 和 REQUEST_URI:有什麼不同?

Barbara Streisand
發布: 2024-11-02 15:48:02
原創
194 人瀏覽過

PHP_SELF, PATH_INFO, SCRIPT_NAME, and REQUEST_URI: What's the Difference?

PHP_SELF vs PATH_INFO vs SCRIPT_NAME vs REQUEST_URI:了解差異

開發PHP 應用程式時,了解差異

開發PHP 應用程式時,了解PHP.重要、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
  • PHP_SELF:/test.php/foo/bar

SCRIPT_NAME:/test .php

範例php
  • 範例2
  • 例如🎜>http://example.com/test.php?foo=bar

SCRIPT_NAME: / test.php
REQUEST_URI: /test.php?foo=bar

  • 範例3:
  • http://example.com/test。 php (使用mod_rewrite 重定向)

REQUEST_URI: /test.php
SCRIPT_NAME: /test2.php

  • 範例
  • IIS 中的自訂錯誤頁:
  • http://example.com/test.php

SCRIPT_NAME: /404error.phpREQUEST_URIRI: /404error。 php?404;http://example.com/test.php透過了解這些差異,您可以有效地利用適當的伺服器變數來處理PHP 中的導航、URL 重寫和錯誤處理應用程式。

以上是PHP_SELF、PATH_INFO、SCRIPT_NAME 和 REQUEST_URI:有什麼不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板