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 Redirect Examples
<?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.