Bir web yazılımcısı olarak bazen yazılara istemediğimiz şekilde URL isimleri vermiş olabiliriz. URL adresini bir süre sonra değiştirdiğimizde arama motorları adresi bulamayacak ve kullanıcıları hata sayfasına yönlendirecektir. Bu işlem yüzünden arama motorları sayfaya kötü seo puanı verecek ve adını değiştirdiğimiz sayfayı alt sıralara gönderecektir. Bunun yerine sayfanın taşındığını söyleyip, yeni adresine gönderebiliriz.
Yukarıdaki durumların dışında da oturum başlatıldığında yada daha farklı durumlar için web adresini yönlendirmek isteyebiliriz. PHP sayfa yönlendirme için gerekli kodlarla birlik taşınan sayfaya yönlendirmek için gerekli PHP sayfa yönlendirme koduna da yer verilecektir.
İlk olarak en basit yönlendirme kodu nasıl yapılır onu inceleyelim.
PHP Basit Yönlendirme
Ziyaretçiyi başka bir sayfaya yönlendirmek için (özellikle koşullu bir döngüde kullanışlı), aşağıdaki kodu kullanılabilir.
Not 1: exit() kullanılmasının amacı yönlendirme işleminden sonra her hangi bir kodun yürütülmemesi içindir.
Not 2: header() fonksiyonu her hangi bir çıktı üretilmeden önce yazılması gerekir. Yada sayfanın başında boşluk hataları oluşmaması hususuna dikkat edilmesi gerekir.
<?php
header(‘Location: yenisayfa.php’);
exit();
?>
<?php header(‘Location: yenisayfa.php’); exit(); ?>
|
Ayrıca url adresi parametre içerebilir. Örn: yenisayfa.php?site=yazilim&yazar=kodlama
PHP Mutlak Adrese Yönlendirme
Web adresinin kök dizininde bulunan bir dosya dizin yapısına yönlendirme yapılabilir. DOCUMENT_ROOT kök dizini aşağıdaki gibi kullanılarak yönlenme sağlanır.
<?php
header(‘Location: /sayfalar/yenisayfa.php’);
exit();
?>
<?php header(‘Location: /sayfalar/yenisayfa.php’); exit(); ?>
|
Hatta harici yada site içindeki bir web adresine aşağıdaki gibi bağlantı vermek mümkündür.
<?php
header(‘Location:https://www.yazilimkodlama.com’);
exit();
?>
<?php header(‘Location:https://www.yazilimkodlama.com’); exit(); ?>
|
PHP 301 Yönlendirme Kodu
Yukarıdaki kodlar varsayılan yönlendirmeler için geçici bir çözümdür. Google gibi arama motorları yönlendirmeyi dikkate almayacaktır. Anlamayacaktır da denilebilir.
Arama motorlarının sayfanın taşındığı bilgisini dikkate almasını istiyorsak aşağıdaki kodlardan birini kullanabilirsiniz.
<?
header(‘Status: 301 Moved Permanently’, false, 301);
header(‘Location: yeniadres.php’);
exit();
?>
<? header(‘Status: 301 Moved Permanently’, false, 301); header(‘Location: yeniadres.php’); exit(); ?>
|
ya da
<?php
// eskisayfa.php içinden yönlendirme
header(“Location: https://www.yazilimkodlama.com/kategori/javascript/”, true, 301);
exit();
?>
<?php // eskisayfa.php içinden yönlendirme header(“Location: https://www.yazilimkodlama.com/kategori/javascript/”, true, 301); exit(); ?>
|
.htaccess kullanarak yapmak isterseniz ise şöyle
Redirect 301 /eskisayfa.php https://www.yazilimkodlama.com/kategori/javascript/
Redirect 301 /eskisayfa.php https://www.yazilimkodlama.com/kategori/javascript/
|