Htacces kullanımı

illu_htaccess.gif Bi gün benden yaşça çok büyük programcı bi abiyle konuşuyodum bana yaptığı siteyi göstermişti o zmn da htaccess nedir bilmezdim :) o da php yazıyomuş siteyi açtım baktım uzantısı .html aaaaa dedim html mi yazdın sonra cevabı bana yapıştırınca çok utanmış ve irdelemeye başlamıştm :) Velhasıl işte yaptığımız siteyi istediğimiz uzantıya sokan şey htaccess (ne güzel açıkladım ama neyse bilimsel bi açıklamasınıda bulup yapıştırayım :P )

.htaccess (ingilizce= Hypertext Access) İnternet sayfaları için Apache serverlerde ayarlar yapmaya yarayan bir dosya türüdür. .htaccess ile güvenlik amacıyla dosyalara şifre koruma sağlayabilir, yönlendirmeleri istediğiniz bir sayfaya yapabilir, uzun php, asp yada diğer uzantılarda adres kısaltması yapmaya olanak verir. Apache’yi yada Server üzerinde yüklü olan işletim sistemini yeniden başlatmadan htaccess ile yaptığınız değişiklikler aktifleştiği için oldukça pratik çözümler bulunabilir. Server ayarlarının yapıldığı dosyalara ulaşılmadığı durumlarda (örn. httpd.confi php.ini gibi) bazen kurtarıcı rolünü üstlenir özellikler taşır.

Heh işte tam bende bunu anlatmaya çalışıyodum.Neyse şimdi bi kaç örnekle bilgilerimizi pekiştirelim:

Örneğin kodlarımızın bulunduğu klasörlere dışardan erişimi engellemek istiyoruz.Hemen .htaccess uzantılı bi dosya oluşturup içine bu kodları atmamız yeterli:

#deny all access
deny from all

Böylelikle sadece ftp den dosyalara erişim sağlanacak.

Örneğin .jpg uzantılı dosyalarınızı gizlemek istiyorsunuz:

<Files ~ “^\.jpg”>
Order allow,deny
Deny from all
Satisfy All
</Files>

Şimdi gelelim uzantımızı değiştirmeye:

RewriteRule ^resim-([a-zA-Z0-9-_]+)-([0-9]+)\.html$ resimler.php?resimid=$2 [L]

htaccess dosyamıza bunu koyuyoruz.Php sayfamızın ismide resimler.php çıkan sonuç resim-bilmemne-1.html şeklinde bir sonuç çıkıyor.php dosyamızın içinide açarsak şu şekilde:

<a href=”resimler.php?resimid=<?=$row[”resimid”];?>”>

benim sitemde de gördüğünüz gibi http://nurantoka.com/bosvermislik-duygularimin-kabarmasi.html başlıklarıda permalink yapabiliriz ancak önce türkçe karakter sorununu ortadan kaldıran bi fonksiyon yazmalıyız:

function resimlinkbas($resimbilgi) {
 global $tr;
 global $en;
 $isim = str_replace($tr, $en, $resimbilgi[’isim’]);
 $isim = preg_replace(”/[^a-zA-Z0-9-]/”, “-”, $isim);

 return “resim-” . $isim . “-” . $resimbilgi[resimid] . “.html”;
}

bu fonksiyonuda şu şekilde çağırırz:

<a href=”<? resimlinkbas($row);?>”> (buradaki row örneğin :  $row=mysql_fetch_assoc() bu şekilde verileri diziye attığım değişkenin adı burda resimin bütün bilgileri bulunmaktadır )

Kolay gelsin ..

Düşüncelerinizi Esirgemeyin !!