PHP HTACCESS KULLANIMI ve HTACCESS İLE PHP SAYFALARI HTML GÖSTERMEK

PHP HTACCESS KULLANIMI ve HTACCESS Ä°LE PHP SAYFALARI HTML GÖSTERMEK

Htaccess web alanında birçok faydalı yönlendirme iÅŸlerinin yapılmasını saÄŸlayan, Apache web sunucularında olan etkili ve çok amaçlı bir ayar dosyasıdır. PHP projelerimizi htaccess kullanarak kullanıcı dostu URL’ler yapmamıza ve bir takım yollarla güvenlik önlemleri de almamıza yarayan ve bu alanda en favori olaylardan bir tanesidir.

#HTACCESS Ä°ÇÄ°N AÇIKLAMA NOTLARI

^ İşareti başlangıcı

$ Ä°ÅŸareti BitiÅŸi

[0-9] : 0 ile 9 arasındaki tüm sayılar olabilir.

[A-Z] : Büyük harfli A’dan Z’ye tüm harfler olabilir.

[a-z] : Küçük harfli A’dan Z’ye tüm harfler olabilir.

[A-Za-z0-9] : Bir harf ya da rakam olabilir.

(*) işareti herhangi bir şey anlamında olup sıfır karakter de olur der ve sınırsız karaktere kadar gider.

(+) ise yıldızdan farklı olarak en az 1 karakter olmasını şart koşar.

(?) ise tek bir harf için joker karakter niyetine kullanılır.

1-) PHP ile yapılan Sitemizde firma-hakkinda.php Sayfasına Link ile Metinsel DeÄŸiÅŸken göndererek oluÅŸturulmuÅŸ Linkleri Düzenlemek için

| Hakkımızda | İletişim |

Şeklindeki Yazılara Link Verirken

Hakkımızda => Ä°çin firma-hakkinda.php?sayfa=hakkimizda

Ä°letiÅŸim => Ä°çin firma-hakkinda.php?sayfa=iletisim

Åžeklinde Link ile deÄŸiÅŸken gönderdiÄŸimizi ve o deÄŸiÅŸkeni de firma-hakkinda.php sayfasında $_GET[“sayfa”] ÅŸeklinde çekip if else ile kontrol ederek bir sayfa içerisinde birden fazla sayfa içeriÄŸini görüntülettiÄŸimiz bir yapının ayrı ayrı html sayfalarmış gibi gösterilmesi için

Yani Hakkımızda sayfasına Tıklayınca Adres ÇubuÄŸunda Linki

firma-hakkinda.php?sayfa=hakkimizda

yerine

bt-bilgisayar-hakkimizda.html


Ä°letiÅŸimin Linki

firma-hakkinda.php?sayfa=iletisim

yerine

bt-bilgisayar-iletisim.html

ÅŸeklinde görünsün istiyorsak.


Öncelikle .htaccess isimli bir dosya oluÅŸturacağız. Bilgisayarımız bu dosyayı oluÅŸturmamıza izin vermeyeceÄŸinden biz dosyayı htaccess.txt olarak oluÅŸturup içine aÅŸağıdaki kodları ekleyeceÄŸiz. Sunucuya atınca da htaccess.txt yi .htaccess ismine çevireceÄŸiz Htaccess içeriÄŸi


Options +FollowSymLinks

RewriteEngine On

RewriteRule ^bt-bilgisayar-(.*).html$ firma-hakkinda.php?sayfa=$1 [L,NC]


Åžimdi kodu biraz açıklayalım

^bt-bilgisayar-(.*).html$ firma-hakkinda.php?sayfa=$1

Başlangıcı bt-bilgisayar- olacak ondan sonra bir değişken olacak yani

firma-hakkinda.php?sayfa=iletisim

kısmında sayfa değişkenine atayacağımız değeri burada iletisim şeklinde tanımlamamız gerektiğini ve $ bitişi ifade ettiğinden dolayı da sayfanın .html ile biteceği anlatılıyor. Htaccess dosyayısını bu şekilde tanımladıktan sonra sayfamızda verdiğimiz linkleri de değiştireceğiz.

Yani

firma-hakkinda.php?sayfa=hakkimizda

yerine

bt-bilgisayar-hakkimizda.html


Ä°letiÅŸimin Linkini

firma-hakkinda.php?sayfa=iletisim

yerine

bt-bilgisayar-iletisim.html

olarak deÄŸiÅŸtireceÄŸiz. Bu Linke tıklayınca adres çubuÄŸunda

bt-bilgisayar-hakkimizda.html

gözükecek.

bt-bilgisayar-hakkimizda.html -- bt-bilgisayar-(.*).html tanımından oradaki (.*) hakkimizda yı alacak ve sanki

firma-hakkinda.php?sayfa=$1

yerine hakkimizda yı koyacak

firma-hakkinda.php?sayfa=hakkimizda

gibi çalıştıracak.

SONUÇ: htaccess içinde gerekli tanımlamayı yap. Sonra da PHP sayfadaki linkleri buradaki kurala uygun hale getir. Ä°ÅŸlem tamamdır.

2-) PHP ile yapılan Sitemizde urunlerimiz.php Sayfasına Link ile sayısal DeÄŸiÅŸken göndererek oluÅŸturulmuÅŸ Linkleri Düzenlemek için

Adres ÇubuÄŸunda Linki

urunlerimiz.php?urun_id=1

yerine

8-urunlerimiz-buzdolabi.html

ÅŸeklinde göstermek için Aynı ÅŸekilde htaccess dosyasını oluÅŸtur. Htaccess dosya içeriÄŸi


Options +FollowSymLinks

RewriteEngine On

RewriteRule ^([0-9]+)-urunlerimiz-(.*).html$ urunlerimiz.php?kategori_id=$1 [L,NC]


id numarası sayısal olduÄŸu için ([0-9]+)kullanıyoruz bu id yi $1 içine atıyor Sonra da sayfada verdiÄŸimiz

urunlerimiz.php?urun_id=1 linkinini yerine

-urunlerimiz-.html yazıyoruz. Sondaki [L,NC] L ise eÄŸer o satırdan sora eÅŸleÅŸme olursa bile çalıştırmamamsı içindir Sondaki [L,NC] NC ise sunucuda büyük küçük harf duyarlılığı varsa onu etkisiz hale getirir

RewriteRule ^(.*).html$ $1.php [L,NC]

BaÅŸta gördüÄŸünü sondaki gibi çalıştır demektir.

# RewriteRule ^(.*)-uye-bak-(.*).html$ uyebak.php?id=$1&ad=$2 [L,NC] -

Åžeklinde bir satırda birden fazla deÄŸiÅŸken kullanılacak ise (.*) içindekini $1 e, sonraki (.*) $2, sonraki $3 ÅŸeklinde tanımlanır.

3- ) PHP Uzantılı bir sayfayı html göstermek Yani uye-ol.php sayfasına tıklanınca uye-ol.html gibi görünsün için de Htaccess içeriÄŸi


Options +FollowSymLinks RewriteEngine On RewriteRule ^(.*).html$ $1.php [L,NC]


Olarak düzenleyip. Sonra da Linkini uye-ol.html ver iÅŸlem tamamdır.

4-) Birkaç özelliÄŸi içinde bulunduran htaccess dosya içeriÄŸi ve linklerinin son hali Htaccess dosya içeriÄŸi


Options +FollowSymLinks

RewriteEngine On

RewriteRule ^([0-9]+)-urunlerimiz-(.*).html$ urunlerimiz.php?kategori_id=$1 [L,NC]

RewriteRule ^([0-9]+).urun-(.*).html$ urun-detay.php?urun_id=$1 [L,NC]

RewriteRule ^bt-bilgisayar-(.*).html$ firma-hakkinda.php?sayfa=$1 [L,NC]

RewriteRule ^(.*).html$ $1.php [L,NC]

Ahmet Ayyıldız Kimdir?

Yorumlar (0)