Web sitelerinde çokca gördüğümüz php_ile_programlama.html yada index.php/php/kodkutuphanesi şeklindeki seo dostu url oluşturmak isteyip de bu konuda anlaşılır kaynak bulamayanlar için bu konuyu basitçe anlatacağım.
Bu şekilde urllere sahip olmak için .htaccess (hypertext access) dosyamızda birkaç ufak değişiklik yapmamız yeterlidir.Aslında htaccess birçok yeteneği olan apache sunucu ayar dosyasıdır.root dizininde bulunur ve sunucudaki ayarları yapılandırmayı sağlar. Biz şimdilik sadece yönlendirme özelliğini kullanacağız.
ÖNEMLİ: Eğer bu konuda bilgili değilseniz .htaccess dosyası ile oynamayınız.Yoksa web siteniz çalışmaz.
Öncelikle bizim kullanacağımız ve bilmemiz gereken komutları öğrenelim.
RewriteEngine On: Bu komut ile url yönlendirmesini aktif hale getiriyoruz.
RewriteBase : Bu komut ile yönlendirmemizin etkili olacağı klasörü belirliyoruz.
Örneğin sitemiz www.site.com/zafer şeklinde bir dizinde ise kod yapımız RewriteBase /zafer şeklinde olacaktır.
RewriteRule : Bu komut yönlendirmeyi gerçekleştirecek komutumuzdur. Hangi adresin hangi adrese yönleneceğini bu komut ile belirlenir.
# : Yorum satırı.
Ayrıca bu konuda düzenli ifadeleri de kullanacağız, kısaca onların da anlamlarına bir göz atalım.
- (.) Herhangi bir karakter olduğunu belirtir.
- (?) 0 veya 1 tane olduğunu belirtir
- (*) 0 ve daha büyük olabildiğini belirtir
- (^) Seçilecek ifadenin başlangıç noktasını belirtir
- ($) Seçilecek olan ifadenin bitiş noktasını belirtir
- (\\) . veya ’ gibi kod yapısında etkili olabilecek işaretleri normal karakter şeklinde gözükmesini sağlar.
- NC Büyük küçük harf duyarlılığını kaldırır
Şimdi örnek bir yönlendirme yapalım.
-----------------------------------
RewriteEngine On
RewriteRule ^gorunensayfa\\.html$ sayfa.php [NC]
-----------------------------------
Şimdi bu kodu açıklarsak ;
RewriteEngine On ile yönlendirmeyi aktif ettik
RewriteRule ile yönlendirme işlemini gerçekleştiriyoruz.
url de görünecek adresimiz ^ ile $ arasında yer alan kısım.Adresimizi yazarken .html deki (.) nokta özel bir karakter olduğu için başına \\ koyduk.Daha sonra bir boşluk bıraktıktan sonra yönlenecek sayfayı yani gerçek url mizi yazdık. Bu kodu htaccess dosyamıza eklediğimizde ve adres satırına gorunensayfa.html yazdığımızda sayfa.php açılacak ancak url miz gorunensayfa.html olacaktır.
Bu işin biraz temel ve kavramaya yönelik kısmı idi.Şimdi kodlarımızı biraz daha geliştirelim.Web sitelerinde url yapısı genellikle şöyledir.
İndex.php?sayfa=dokuman&kategori=php
Ancak biz url mizin index.php/dokuman/php şeklinde görünmesini istiyoruz.htaccess e yazacağımız şöyle bir kod işimizi görecektir.
-----------------------------------
RewriteEngine On
RewriteRule ^index.php/(.+)/(.+)$ index.php?sayfa=$1&kategori=$2 [NC]
-----------------------------------
Artık url’ye index.php/dokuman/php yazdığımızda İndex.php?sayfa=dokuman&kategori=php sayfası açılacak ancak url’miz index.php/dokuman/php şeklinde olacaktır.
# Zafer KORUCU
(Alıntıdır)
Hiç yorum yok:
Yorum Gönder
~ Anonim Olarak Yorum Yapabilirsiniz
~ Yorumlarınız Onaylandıkdan Sonra Gösterilir