重定向可讓您將用戶端瀏覽器重新導向到不同的 URL。您可以在切換網域、變更網站結構或切換到 HTTPS 時使用它。
在本文中,我將向您展示如何使用 PHP 重定向到另一個頁面。我將準確地解釋 PHP 重定向的工作原理並向您展示幕後發生的情況。
如果您想學習 PHP,請查看我們的 PHP 基礎知識免費線上課程!
在我們深入了解 PHP 重定向的細節之前,讓我們先快速了解 HTTP 重定向到底是如何運作的。看一下下圖。
讓我們了解上面的螢幕截圖中發生了什麼:
Location
標頭以及 301 或 302 HTTP 代碼。這些是用於重定向的 HTTP 程式碼。
new_index.php
檔案。
這就是基本 HTTP 重新導向的工作原理。在下一節中,我們將討論 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 腳本。透過低成本的一次性付款,您可以購買這些高品質的 WordPress 主題之一,並改善您和您的訪客的網站體驗。
#以下是 2020 年 CodeCanyon 上提供的一些最暢銷和嶄露頭角的 PHP 腳本。
以上是PHP中的重定向教學的詳細內容。更多資訊請關注PHP中文網其他相關文章!