Ziyaretçiyi başka bir sayfaya yönlendirmek (özellikle bir koşullu döngüde yararlıdır) için aşağıdaki kodu kullanmanız yeterlidir:
<?php
header('Location: mypage.php');
?>
Bu durumda, mypage.php
ziyaretçileri yeniden yönlendirmek istediğiniz sayfanın adresidir. Bu adres mutlak olabilir ve bu biçimdeki parametreleri de içerebilir:mypage.php?param1=val1&m2=val2)
Göreceli / Mutlak Yol
Göreceli veya mutlak yollarla uğraşırken, sunucunun kökünden (DOCUMENT_ROOT) mutlak bir yol seçmek idealdir. Aşağıdaki biçimi kullanın:
<?php
header('Location: /directory/mypage.php');
?>
Hedef sayfa başka bir sunucuda bulunuyorsa, tam URL'yi eklersiniz:
<?php
header('Location: http://www.ccm.net/forum/');
?>
HTTP Üstbilgileri
HTTP protokolüne göre, HTTP üstbilgileri gönderilmelidir before
herhangi bir tür içerik . Bu, başlıktan önce hiçbir karakterin gönderilmemesi gerektiği anlamına gelir - boş bir alan bile!
Geçici / Kalıcı Yönlendirmeler
Varsayılan olarak, yukarıda sunulan yönlendirme türü geçicidir. Bu, Google Arama gibi arama motorlarının dizine eklerken yönlendirmeyi dikkate almayacağı anlamına gelir.
Arama motorlarına bir sayfanın kalıcı olarak başka bir konuma taşındığını bildirmek isterseniz, aşağıdaki kodu kullanın:
<?
header('Status: 301 Moved Permanently', false, 301);
header('Location: new_address');
?>
Örneğin, bu sayfa aşağıdaki koda sahiptir:
<?
header('Status: 301 Moved Permanently', false, 301);
header('Location: /pc/imprimante.php3');
exit();
?>
Yukarıdaki bağlantıyı tıkladığınızda, otomatik olarak bu sayfaya yönlendirilirsiniz. Dahası, kalıcı bir yeniden yönlendirmedir (Durum: 301 Kalıcı Olarak Taşındı). Dolayısıyla, ilk URL'yi Google'a yazarsanız, otomatik olarak ikinci, yeniden yönlendirilen bağlantıya yönlendirilirsiniz.
PHP Kodunun Yorumlanması
Header () öğesinden sonra bulunan PHP kodu, ziyaretçi yeniden yönlendirmede belirtilen adrese gitse bile sunucu tarafından yorumlanır. Çoğu durumda, bu , sunucunun yükünü azaltmak için işlevin header()
işlevini takip etmek için bir yönteme ihtiyacınız olduğu anlamına gelir exit()
:
<?
header('Status: 301 Moved Permanently', false, 301);
header('Location: address');
exit();
?>