หากต้องการเปลี่ยนเส้นทางผู้เยี่ยมชมไปยังหน้าอื่น (มีประโยชน์โดยเฉพาะในการวนซ้ำแบบมีเงื่อนไข) เพียงใช้รหัสต่อไปนี้:
<?php
header('Location: mypage.php');
?>
ในกรณีนี้mypage.php
คือที่อยู่ของหน้าเว็บที่คุณต้องการเปลี่ยนเส้นทางผู้เข้าชม ที่อยู่นี้อาจเป็นที่แน่นอนและอาจรวมถึงพารามิเตอร์ในรูปแบบนี้:mypage.php?param1=val1&m2=val2)
เส้นทางสัมพัทธ์ / สัมบูรณ์
เมื่อจัดการกับพา ธ สัมพัทธ์หรือพา ธ สัมบูรณ์จะเป็นการดีที่จะเลือกพา ธ สัมบูรณ์จากรูทของเซิร์ฟเวอร์ (DOCUMENT_ROOT) ใช้รูปแบบต่อไปนี้:
<?php
header('Location: /directory/mypage.php');
?>
หากหน้าเป้าหมายเคยอยู่บนเซิร์ฟเวอร์อื่นคุณจะต้องใส่ URL แบบเต็ม:
<?php
header('Location: http://www.ccm.net/forum/');
?>
ส่วนหัว HTTP
ตามโปรโตคอล HTTP ส่วนหัว HTTP จะต้องส่งbefore
เนื้อหาทุกประเภท ซึ่งหมายความว่าไม่ควรส่งอักขระก่อนส่วนหัว - ไม่เว้นแม้แต่ช่องว่าง!
การเปลี่ยนเส้นทางชั่วคราว / ถาวร
ตามค่าเริ่มต้นประเภทของการเปลี่ยนเส้นทางที่แสดงข้างต้นเป็นประเภทชั่วคราว ซึ่งหมายความว่าเครื่องมือค้นหาเช่น Google Search จะไม่คำนึงถึงการเปลี่ยนเส้นทางเมื่อทำการจัดทำดัชนี
หากคุณต้องการแจ้งให้เครื่องมือค้นหาทราบว่าหน้าเว็บถูกย้ายไปที่อื่นอย่างถาวรให้ใช้รหัสต่อไปนี้:
<?
header('Status: 301 Moved Permanently', false, 301);
header('Location: new_address');
?>
ตัวอย่างเช่นหน้านี้มีรหัสต่อไปนี้:
<?
header('Status: 301 Moved Permanently', false, 301);
header('Location: /pc/imprimante.php3');
exit();
?>
เมื่อคุณคลิกที่ลิงก์ด้านบนคุณจะถูกนำไปที่หน้านี้โดยอัตโนมัติ นอกจากนี้ยังเป็นการเปลี่ยนเส้นทางถาวร (สถานะ: 301 ถูกย้ายอย่างถาวร) ดังนั้นหากคุณพิมพ์ URL แรกใน Google คุณจะถูกเปลี่ยนเส้นทางไปยังลิงก์ที่สองซึ่งถูกเปลี่ยนเส้นทางโดยอัตโนมัติ
การตีความรหัส PHP
รหัส PHP ที่อยู่หลังส่วนหัว () จะถูกตีความโดยเซิร์ฟเวอร์แม้ว่าผู้เข้าชมจะย้ายไปยังที่อยู่ที่ระบุในการเปลี่ยนเส้นทาง ในกรณีส่วนใหญ่หมายความว่าคุณต้องมีวิธีการตามheader()
ฟังก์ชั่นของexit()
ฟังก์ชั่นเพื่อลดภาระของเซิร์ฟเวอร์:
<?
header('Status: 301 Moved Permanently', false, 301);
header('Location: address');
exit();
?>