วิธีเปลี่ยนเส้นทางใน PHP

How Redirect Php



URL ของเบราว์เซอร์ของผู้ใช้สามารถเปลี่ยนจากที่หนึ่งไปอีกที่หนึ่งได้โดยใช้การเปลี่ยนเส้นทาง จำเป็นต้องมีการเปลี่ยนเส้นทางเพื่อวัตถุประสงค์หลายประการ เช่น การเปลี่ยนจาก HTTP เป็น HTTPS การเปลี่ยนโดเมน เป็นต้น เมื่อผู้ใช้ส่งคำขอหน้าไปยังเซิร์ฟเวอร์ที่ไม่มีอยู่หรือตำแหน่งของหน้าที่มีการเปลี่ยนแปลง เซิร์ฟเวอร์จะ ส่งข้อมูลเกี่ยวกับ URL ใหม่ด้วยรหัส HTTP 301 หรือ 302 จะช่วยให้ผู้ใช้ทราบเกี่ยวกับ URL ใหม่โดยการเปลี่ยนเส้นทาง และผู้ใช้จะส่งคำขอไปยังตำแหน่งใหม่เพื่อรับเนื้อหาที่ต้องการ URL เปลี่ยนเส้นทางใน PHP โดยใช้ ส่วนหัว () การทำงาน. วิธีการ หัวข้อ() ฟังก์ชั่นสามารถใช้ใน PHP เพื่อเปลี่ยนเส้นทาง URL จากหน้าหนึ่งไปยังอีกหน้าหนึ่งแสดงในบทช่วยสอนนี้

ส่วนหัว () ฟังก์ชั่น

เป็นฟังก์ชัน PHP ในตัวเพื่อส่งส่วนหัว HTTP ดิบไปยังไคลเอ็นต์ ไวยากรณ์ของฟังก์ชันนี้แสดงอยู่ด้านล่าง







ไวยากรณ์:
ส่วนหัว ( $header, [$replace, [$http_response_code]] )



ฟังก์ชันนี้สามารถรับอาร์กิวเมนต์ได้สามอาร์กิวเมนต์ อาร์กิวเมนต์แรกบังคับ และสองอาร์กิวเมนต์สุดท้ายเป็นทางเลือก NS $header ใช้เพื่อเก็บสตริงส่วนหัวที่มีตำแหน่งของการเปลี่ยนเส้นทาง NS $replace กำหนดว่าจะแทนที่ส่วนหัวที่คล้ายกันก่อนหน้านี้หรือไม่ และค่าของอาร์กิวเมนต์นี้คือบูลีน NS $http_response_code ใช้เพื่อเก็บรหัสตอบกลับเฉพาะที่จะส่งไปยังผู้ใช้



ตัวอย่างที่ 1: URL เปลี่ยนเส้นทางด้วยรหัสสถานะเริ่มต้น

สร้างไฟล์ PHP ด้วยรหัสต่อไปนี้ซึ่งจะเปลี่ยนเส้นทางไปยังตำแหน่งใหม่หลังจากรอ 2 วินาที ที่นี่ NS() ฟังก์ชั่นใช้เพื่อยุติสคริปต์ เมื่อ หัวข้อ() ฟังก์ชันใช้กับอาร์กิวเมนต์เดียว ดังนั้น 302 ใช้เป็นรหัส HTTP เริ่มต้น







//รอ 2 วินาที
นอน (2);
//เปลี่ยนเส้นทางไปยังตำแหน่งเฉพาะ
หัวข้อ ('ตำแหน่ง: http://localhost/php/contactForm/index.html');
NS ();

?>

เอาท์พุท:
หลังจากรันโค้ดแล้ว URL จะถูกเปลี่ยนเส้นทางไปยังตำแหน่ง http://localhost/php/contactForm/index.html หลังจาก 2 วินาที หากคุณตรวจสอบรหัสและเปิด เครือข่าย tab ก็จะแสดง 302 เป็นรหัสสถานะเริ่มต้น



ตัวอย่างที่ 2: เปลี่ยนเส้นทาง URL อย่างถาวร

สร้างไฟล์ PHP ด้วยรหัสต่อไปนี้ซึ่งจะเปลี่ยนเส้นทางไปยังตำแหน่งใหม่หลังจากรอ 2 วินาที ที่นี่ NS() ฟังก์ชั่นใช้เพื่อยุติสคริปต์ ที่นี่ หัวข้อ() ฟังก์ชั่นใช้กับสามอาร์กิวเมนต์ NS จริง ใช้สำหรับอาร์กิวเมนต์ที่สองและ 301 ใช้สำหรับอาร์กิวเมนต์ที่สาม NS 301 รหัสสถานะใช้เพื่อเปลี่ยนเส้นทางอย่างถาวร



//รอ 2 วินาที
นอน (2);
//เปลี่ยนเส้นทางไปยังตำแหน่งเฉพาะ
หัวข้อ ('ตำแหน่ง: http://localhost/php/contactForm/index.html',จริง,301);
NS ();

?>

เอาท์พุท:
หลังจากรันโค้ดแล้ว URL จะถูกเปลี่ยนเส้นทางไปยังตำแหน่ง http://localhost/php/contactForm/index.html หลังจาก 2 วินาที หากคุณตรวจสอบรหัสและเปิด เครือข่าย tab ก็จะแสดง 301 เป็นรหัสสถานะที่ระบุว่า URL ถูกย้ายอย่างถาวร

ตัวอย่างที่ 3: เปลี่ยนเส้นทาง URL ชั่วคราว

สร้างไฟล์ PHP ด้วยรหัสต่อไปนี้ซึ่งจะเปลี่ยนเส้นทางไปยังตำแหน่งใหม่หลังจากรอ 2 วินาที ที่นี่ NS() ฟังก์ชั่นใช้เพื่อยุติสคริปต์ ที่นี่ หัวข้อ() ฟังก์ชั่นใช้กับสามอาร์กิวเมนต์ NS จริง ใช้สำหรับอาร์กิวเมนต์ที่สองและ 307 ใช้สำหรับอาร์กิวเมนต์ที่สาม รหัสสถานะ 307 ใช้เพื่อเปลี่ยนเส้นทางชั่วคราว



//รอ 2 วินาที
นอน (2);
//เปลี่ยนเส้นทางไปยังตำแหน่งเฉพาะ
หัวข้อ ('ตำแหน่ง: http://localhost/php/contactForm/index.html',จริง,307);
NS ();

?>

เอาท์พุท:
หลังจากรันโค้ดแล้ว URL จะถูกเปลี่ยนเส้นทางไปยังตำแหน่ง http://localhost/php/contactForm/index.html หลังจาก 2 วินาที หากคุณตรวจสอบรหัสและเปิด เครือข่าย tab ก็จะแสดง 307 เป็นรหัสสถานะที่ระบุว่า URL ถูกเปลี่ยนเส้นทางชั่วคราว

ตัวอย่างที่ 4: เปลี่ยนเส้นทาง URL ตามเงื่อนไข

สร้างไฟล์ PHP ด้วยรหัสต่อไปนี้ซึ่งจะเปลี่ยนเส้นทาง URL ตามคำสั่งเงื่อนไข แบบฟอร์ม HTML ได้รับการออกแบบในสคริปต์เพื่อเปลี่ยนเส้นทาง URL ตามค่าที่เลือกของรายการดรอปดาวน์ ที่นี่ รายการแบบหล่นลงประกอบด้วยสามค่า เมื่อไหร่ Google ถูกเลือกจากรายการแบบเลื่อนลงแล้วสคริปต์ PHP จะเปลี่ยนเส้นทาง URL ไปยังตำแหน่ง https://google.com ด้วยรหัสสถานะเริ่มต้น 302 . เมื่อไหร่ Linuxคำแนะนำ ถูกเลือกจากรายการแบบเลื่อนลงแล้วสคริปต์ PHP จะเปลี่ยนเส้นทาง URL ไปยังตำแหน่ง https://linuxhint.com พร้อมรหัสสถานะ 301 . เมื่อไหร่ ห้องเรียนฟามิดาส ถูกเลือกจากรายการแบบเลื่อนลง จากนั้นสคริปต์ PHP จะเปลี่ยนเส้นทาง URL ไปยังตำแหน่ง https://fahmidasclassroom.com พร้อมรหัสสถานะ 302 .

<html>
<ศีรษะ>
<ชื่อ> หัวข้อ ตัวอย่างชื่อ>
ศีรษะ>
<ร่างกาย>
<วิธีแบบฟอร์ม='โพสต์'การกระทำ=#>
<เลือกชื่อ='เว็บ'>
<ตัวเลือก>Googleตัวเลือก>
<ตัวเลือก>Linuxคำแนะนำตัวเลือก>
<ตัวเลือก>FahmidasClassroomตัวเลือก>
เลือก>

<ประเภทอินพุต='ส่ง'ชื่อ='ส่ง'ค่า='ไป' />

html>



//ตรวจสอบว่ากดปุ่มส่งหรือไม่
ถ้า( ที่ไปแล้ว ($_POST['ส่ง']))
{
ถ้า($_POST['เว็บ'] == 'Google')
{
//เปลี่ยนเส้นทางไปยังตำแหน่งเฉพาะ
หัวข้อ ('ที่ตั้ง: https://google.com');
}
Elseif($_POST['เว็บ'] == 'คำแนะนำลินุกซ์')
{
//เปลี่ยนเส้นทางไปยังตำแหน่งเฉพาะ
หัวข้อ ('ที่ตั้ง: https://linuxhint.com',จริง,301);
}
อื่น
{
//เปลี่ยนเส้นทางไปยังตำแหน่งเฉพาะ
หัวข้อ ('ที่ตั้ง: https://fahmidasclassroom.com');
}
NS ();
}

?>

เอาท์พุท:
หลังจากรันโค้ดแล้ว ผลลัพธ์ต่อไปนี้จะปรากฏในเบราว์เซอร์ ซึ่งจะแสดงรายการดรอปดาวน์ที่มีสามค่าและ ไป ปุ่ม. รหัสสถานะคือ 200 ตอนนี้. หลังจากเปลี่ยนเส้นทางแล้ว รหัสสถานะจะเปลี่ยนไป


ถ้า Google จะเลือกจากเมนูแบบเลื่อนลงจากนั้นจะเปลี่ยนเส้นทางไปยังตำแหน่ง https://google.com หลังจากกดปุ่ม ไป ปุ่ม และภาพต่อไปนี้จะปรากฏขึ้น รหัสสถานะเริ่มต้น 302 ถูกสร้างขึ้นที่นี่


ถ้า Linuxคำแนะนำ เลือกจากเมนูแบบเลื่อนลงจากนั้นจะเปลี่ยนเส้นทางไปยังตำแหน่ง https://linuxhint.com หลังจากกด โก ปุ่ม และภาพต่อไปนี้จะปรากฏขึ้น รหัสสถานะถาวร 301 ถูกสร้างขึ้นที่นี่

บทสรุป:

การใช้งานที่แตกต่างกันของ PHP หัวข้อ() มีการอธิบายฟังก์ชันในบทช่วยสอนนี้โดยใช้ตัวอย่างหลายตัวอย่าง การเปลี่ยนเส้นทางสามารถทำได้ชั่วคราวและถาวรตามรหัสสถานะที่ใช้ใน หัวข้อ() การทำงาน. บทช่วยสอนนี้จะช่วยให้ผู้อ่านทราบข้อมูลเพิ่มเติมเกี่ยวกับจุดประสงค์ของการเปลี่ยนเส้นทางและนำไปใช้โดยใช้สคริปต์ PHP ในเว็บแอปพลิเคชันเมื่อจำเป็น