PHP header() Fonksiyonu ile Yönlendirme İşlemleri
PHP'de header() fonksiyonu, sunucunun tarayıcıya ham HTTP başlıkları göndermesini sağlar.
En yaygın kullanım alanı, kullanıcıyı otomatik olarak başka bir sayfaya aktarmaktır (Redirection).
Temel Yönlendirme Yapısı
Bir kullanıcıyı başka bir adrese göndermek için Location parametresi kullanılır.
Yönlendirme komutundan sonra kodun çalışmaya devam etmemesi için mutlaka exit() kullanılmalıdır.
Kod Örneği: Sayfa Yönlendirme Çeşitleri
<?php
// 1. Basit ve Hızlı Yönlendirme
// header("Location: https://kodornekleri.com/yeni-sayfa.php");
// exit;
// 2. 301 Kalıcı Yönlendirme (SEO için Önemli)
header("HTTP/1.1 301 Moved Permanently");
header("Location: /php/php-nedir.php");
exit;
// 3. Belirli Bir Süre Sonra Yönlendirme (Refresh)
// header("Refresh: 5; url=anasayfa.php");
// echo "5 saniye içinde ana sayfaya yönlendiriliyorsunuz...";
?>
⚠️ En Yaygın Hata:
header() fonksiyonu, ekrana herhangi bir çıktı (echo, boşluk, HTML etiketi) verilmeden ÖNCE çağrılmalıdır. Aksi takdirde "Cannot modify header information" hatası alırsınız.
SEO Açısından 301 vs 302 Yönlendirmesi
| Kod | Tür | SEO Etkisi |
|---|---|---|
| 301 | Kalıcı (Permanent) | Eski sayfanın tüm Google gücünü yeni sayfaya aktarır. |
| 302 | Geçici (Found) | Sıralama gücünü aktarmaz, sadece geçici yönlendirme sağlar. |
💡 Profesyonel İpucu: Eğer bir giriş kontrolü (login check) yapıyorsanız, yetkisiz kullanıcıyı yönlendirdikten sonra
exit; kullanmayı unutmayın. Aksi takdirde yönlendirme gerçekleşse bile arka planda PHP kodları çalışmaya devam eder ve güvenlik açığı oluşabilir.