PHP中的重定向教學
重定向可讓您將用戶端瀏覽器重新導向到不同的 URL。您可以在切換網域、變更網站結構或切換到 HTTPS 時使用它。
在本文中,我將向您展示如何使用 PHP 重定向到另一個頁面。我將準確地解釋 PHP 重定向的工作原理並向您展示幕後發生的情況。
透過免費線上課程學習 PHP
如果您想學習 PHP,請查看我們的 PHP 基礎知識免費線上課程!
基本重定向如何運作?
在我們深入了解 PHP 重定向的細節之前,讓我們先快速了解 HTTP 重定向到底是如何運作的。看一下下圖。
讓我們了解上面的螢幕截圖中發生了什麼:
- 客戶端瀏覽器向伺服器請求特定頁面。在上面的範例中,客戶端請求了 index.php 檔案的內容。
- 伺服器收到 index.php 檔案要求,並希望通知客戶端該檔案不再可用或已移至其他位置,並且應尋找新檔案:new_index.php。 PHP。伺服器發送帶有新 URL 的
Location
標頭以及 301 或 302 HTTP 代碼。這些是用於重定向的 HTTP 程式碼。 - 當客戶端瀏覽器遇到 301 或 302 程式碼時,它知道必須向新 URL 發起另一個請求才能取得內容。它發起一個請求來取得上例中的
new_index.php
檔案。 - 最後,伺服器傳送新網址的內容。
這就是基本 HTTP 重新導向的工作原理。在下一節中,我們將討論 PHP 重定向的工作原理。
PHP 中的重定向如何運作
在 PHP 中,當你想要將使用者從一個頁面重新導向到另一個頁面時,你需要使用 header()
函數。 header 函數可讓您傳送原始 HTTP 位置標頭,該標頭執行我們在上一節中討論的實際重定向。
如何使用標頭功能
讓我們來看看 header()
函數的語法。
header( $header, $replace, $http_response_code )
-
$header
:這是您要使用的 HTTP 標頭字串。在我們的例子中,我們將使用Location
標頭進行重定向。 -
$replace
:這是一個可選參數,指示標頭是否應替換先前的類似標頭。 -
$http_response_code
:它允許您發送特定的回應代碼。
現在,讓我們來看看以下範例,了解它們是如何協同工作的。
<?php // index.php header("Location: https://www.yoursite.com/new_index.php"); exit(); ?>
執行上述腳本時,會將用戶端瀏覽器重新導向至 http://www.yoursite.com/new_index.php。在後台,它會傳送原始 HTTP Location
標頭以及 302 狀態碼。 302狀態碼用於暫時重定向,但如果您想要永久重定向,可以在第三個參數中傳遞301狀態碼,如下列程式碼片段所示。
<?php // index.php header("Location: http://www.yoursite.com/new_index.php", TRUE, 301); exit(); ?>
301 永久重定向允許您通知搜尋機器人該頁面不再可用,可以用新頁面替換。
為什麼要在標頭重定向後使用 Die()
或 Exit()
函數?
眼尖的使用者應該會注意到,我在上面的範例中使用了 exit()
函數。事實上,您必須在標頭重定向之後立即使用 exit()
或 die()
函數來停止腳本執行並避免任何不良結果。
因此,始終建議在重定向後使用這些函數之一。
著名錯誤:標頭已發送
如果您是一位經驗豐富的 PHP 程式設計師,我確信您在日常 PHP 開發中的某個時候遇到過這個著名的 PHP 錯誤。然而,對於初學者來說,遇到這個錯誤確實很煩人,因為它很難調試和修復。在大多數情況下,他們甚至不知道這是由標頭重定向引起的。
經驗法則是,當您在腳本中使用 header()
函數時,您需要確保在它之前沒有發送任何輸出。否則,PHP 將抱怨“標頭已發送”錯誤。即使您在使用標頭函數之前發送了一個空格,也可能會發生這種情況。
結論
在這篇文章中,我們討論了 PHP 程式設計的重要功能之一:重定向。首先,我們了解了 HTTP 重定向的基礎知識,然後示範了它在 PHP 中的工作原理。
CodeCanyon 上最好的 PHP 腳本
探索 CodeCanyon 上有史以來創建的數千個最好、最有用的 PHP 腳本。透過低成本的一次性付款,您可以購買這些高品質的 WordPress 主題之一,並改善您和您的訪客的網站體驗。
#以下是 2020 年 CodeCanyon 上提供的一些最暢銷和嶄露頭角的 PHP 腳本。
以上是PHP中的重定向教學的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

PHP 8.4 帶來了多項新功能、安全性改進和效能改進,同時棄用和刪除了大量功能。 本指南介紹如何在 Ubuntu、Debian 或其衍生版本上安裝 PHP 8.4 或升級到 PHP 8.4

Visual Studio Code,也稱為 VS Code,是一個免費的原始碼編輯器 - 或整合開發環境 (IDE) - 可用於所有主要作業系統。 VS Code 擁有大量針對多種程式語言的擴展,可以輕鬆編寫

本教程演示瞭如何使用PHP有效地處理XML文檔。 XML(可擴展的標記語言)是一種用於人類可讀性和機器解析的多功能文本標記語言。它通常用於數據存儲

字符串是由字符組成的序列,包括字母、數字和符號。本教程將學習如何使用不同的方法在PHP中計算給定字符串中元音的數量。英語中的元音是a、e、i、o、u,它們可以是大寫或小寫。 什麼是元音? 元音是代表特定語音的字母字符。英語中共有五個元音,包括大寫和小寫: a, e, i, o, u 示例 1 輸入:字符串 = "Tutorialspoint" 輸出:6 解釋 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。總共有 6 個元

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。

PHP的魔法方法有哪些? PHP的魔法方法包括:1.\_\_construct,用於初始化對象;2.\_\_destruct,用於清理資源;3.\_\_call,處理不存在的方法調用;4.\_\_get,實現動態屬性訪問;5.\_\_set,實現動態屬性設置。這些方法在特定情況下自動調用,提升代碼的靈活性和效率。
