Apache Mod Rewrite
İnternet kullanıcısı arama motorlarını site bulmak için değil sitenin herhangi bir sayfasına ulaşmak için kullanmaya başlamışlardır.
Hem botların daha kolay okuması hem de kullanıcının sayfayı rahatça ziyaret etmesi ve akılda kalıcı olması için yapılmasını önerdiÄŸimiz “url rewrite” teknik olarak nasıl yapılır bundan bahsedelim.
Apache mod rewrite url’ler üzerinde iÅŸlemlerini yapabileceÄŸiniz bir apache modülüdür.
http://www.siteadı.com/AA4D9C2&clickPage=OPD+Product+Page&cat=79 gibi bir url yi
http://www.siteadı.com/fotograflar/arabalar/kirmizisporferrari.html gibi adrese çevirmek için kullanılır.
Bu işlemleri yaparken düzenli ifadeler kullanmamız gerekir.
e-bergi nin şu makalelerinde düzenli ifadeler hakkında bilgi edinebilirsiniz.
http://e-bergi.com/2008/Mayis/Duzenli-Ifadeler-1
http://e-bergi.com/2008/Haziran/Duzenli-Ifadeler-2
http://e-bergi.com/2008/Agustos/Duzenli-Ifadeler-3
Yazımıza e-bergi.com dan devam edelim.
.htaccess Dosyaları
.htaccess dosyaları Apache sunucunuzla ilgili ayarlamalar yapabileceğiniz dosyalardır. Bunlar yayınlanan klasörlerin içinde bulunur ve sunucuya her istek gönderildiğinde klasörler en üstten, en alta kadar taranır. Bu sayede sunucunu isteğe nasıl cevap vereceğine karar verir. Herhangi bir klasörde .htaccess dosyası bulunmuyorsa üst klasörlerdeki ayarlar geçerlidir. Eğer hiç .htaccess dosyasıyla karşılaşılmamışsa sunucunun varsayılan ayarları kullanılır.
URL Rewrite modülünün komutları da sunucu genelinde uygulanacaksa sunucu varsayılan ayarları arasına, klasör bazından uygulanacaksa .htaccess dosyalarına yazılır.
URL Rewrite Komutları
RewriteEngine
RewriteEngine’i (yeniden yazma motoru) çalıştırabilmemizi saÄŸlar. URL Rewrite yapabilmemiz için açık konuma getirmemiz gerekiyor. Bunun için .htaccess dosyasına ÅŸu satırı ekliyoruz:
RewriteEngine on
RewriteRule
URL Rewrite kurallarını belirlememizi sağlar. Yapacağımız değişiklikler bu komut sayesinde olacak. Örneğin .htaccess dosyası şu şekilde ise:
RewriteEngine on
RewriteRule ^eskisayfa.htm$ yenisayfa.htm
eskisayfa.htm’yi açanlar karşılarında yenisayfa.htm’yi görecekler. Örnekte görüldüğü gibi RewriteRule’un ilk argümanı bir düzenli ifade.
RewriteCond
Bazen URL Rewrite kurallarını her zaman değil de bazı durumlarda kullanmamız gerekir. RewriteCond bu durumları belirlememizi sağlar. Örneğin .htaccess dosyasına:
RewriteEngine on
RewriteCond %{REMOTE_ADDR} ^80\.90\.
RewriteRule ^eskisayfa.htm$ yenisayfa.htm
yazarsak ip adresi 80.90. ile başlayanlar eskisayfa.htm yerine yenisayfa.htm yi görecekler.
336x280

2 Comments Received
Mart 14th, 2010 @15:15
kopyala yapıştır
Mart 14th, 2010 @23:39
“kopyala yapıştır”
hangi siteden alındığı kaynakla beraber yazılmış zaten ebene@ebene.com kullanıcısı kardeşim.
daha iyi bir yazı yazabilecek kapasiten varsa sen yaz onu yayınlarız. aile fertlerini mail adresinde kullancaksan senin için onlarıda yazarız, gerekli yerlere veririz. içini ferah tut. cümle kurmayı da öğren.
sevgiler
Leave A Reply