.htaccess kullanarak arama motoru dostu URL'ler yapmak

Linux üzerinde, Apache'nin nimetlerinden .htaccess dosyası ile arama motoru dostu url ler (seo url) yaratıp kullanabiliriz.
Örneğin;

  1. http://www.kivancerten.com/resimler.php?sira=1

şeklinde bir url yerine

  1. http://www.kivancerten.com/resim/1

kullanmak için, sunucumuzun kök dizininde (genellikle public_html olur) bir .htaccess dosyası oluşturuyoruz.

Öncelikle Apache'nin mod_rewrite özelliğini doğru bir şekilde kullanabilmek için aşağdaki 2 direktifi veriyoruz.

  1. Options +FollowSymLinks
  2. RewriteEngine on

Ve esas işlemi yapan direktifimiz

  1. RewriteRule ^resim/([0-9]+)$ resimler.php?id=$1 [NC]

buradaki ([0-9]+) ifadesi bir düzenli ifadedir ve manası 0 dan 9 a kadar olan karakterlerle sınırsız uzunlukta bir bölümü (yani bir sayıyı) değişken olarak kullan demektir. Bu ifade ilk girilen ifade olduğu için direktifin sağ tarafında $1 değişkenine atanır.
Direktifin sol tarfındaki $ sembolu ise url nin bittiğini gösterir.

Daha karmaşık bir örnek yapalım;

  1. RewriteRule ^(.*)\_([0-9]+)\.html$ resimler.php?resim_ad=$1&id=$2 [NC]

Bu örnekteki (.*) herhangi bir karakter anlamına gelir ve $1 e gönderilir, daha sonra gelen \_ sadece alt çizgi anlamına gelir ancak alt çizgi ve nokta karakterleri özel karakter olduğu için başlarına ters bölü \ sebolü getirilerek normal birer karakter olarak kullanılmaları sağlanmıştır. İlk örnekte gördüğümüz ([0-9]+) ifadesi ile de $2 ye gidecek olan sayı (id) tanımlanmıştır.

Böylece, yukardaki direktifi ile,

  1. http://www.kivancerten.com/bir-resim-basligi_15.html

Şeklinde bir url kullanabiliriz.

Çok yardimci olduğunuz için

Çok yardimci olduğunuz için tesekkürler bi okudum kolay geldi