Apache Mod_Rewrite modülü kullanılarak istenen URL’ler, düzenli ifadeler yardımıyla yeniden yazılabilir.
Bu sayede arama motoru dostu URL’ler yaratılır.
Örneğin aşağıdaki gibi bir adres olsun,
1 | http://www.arabalar.com/araba_goster.php?araba_id=77 |
Yukardaki adresi aşağıdaki şekilde göstermek isteyelim;
1 | http://www.arabalar.com/araba/77 |
1 2 | RewriteEngine On RewriteRule ^araba/([0-9]+)$ araba_goster.php?araba_id=$1 [NC,L] |
İlk satırda mod_rewrite motorunu açıyoruz.
İkinci satırda ise arabalar ile başlayan sonra bir eğik çizgi daha sonra herhangi bir sayı ve en sonunda
tekrar bir eğik çizgi ile biten URL girilirse bunu sunucuda araba_goster.php?araba_id=$1 şeklinde yorumla diyoruz.
NC Bayrağı(No Case): Küçük-büyük harf ayrımı yapılmaz.
L Bayrağı(Last): Bu kuralın son yönlendirme olduğu belirtilir. Sonraki satırlar işlenmez.













SEO kavramı çıktığından beri çok önemli oldu bu sanıyorum. RewriteEngine On ile başlayan kodlarımızı .htaccess ‘e yazıyoruz değil mi?
Haklısın, .htaccess dosyasına yazılıyor..
uğraşıpta çözemediğim bi durum :s localden dolayımı yoksa benmi hata yaptım bulamadım aama bi de bunları deneeyeceğim
umarım Olur
az cok bidiğim bi konu kafat şu bayrak olaylarını tam bilmiyorum hatta L,NC,R vs.. bunların bayrak olduğunu bile şimdi öğrendim
bunlar hakkıdan bi yazı yazarsan sevinirim.
ilaveten baltalamak gibi olmasın ama yazıda gözünden kacan hatlar olmuş
Örnek verdiğin yani yapmak istediğin URL
http://www.arabalar.com/araba/77
.htaccess kodun
RewriteRule ^arabalar/([0-9]+)/$ araba_goster.php?araba_id=$1 [NC,L]
arabalar değil araba olucak ve sonuda / olmucak.
RewriteRule ^araba/([0-9]+)$ araba_goster.php?araba_id=$1 [NC,L]
evet şu bayrak konusuna biraz daha detaylı değinsen cok süper olcak
Haklısın Serkan, dediğin şekilde; hataları düzelttim.