(PHP) htaccess ile kalıcı link oluşturma Mod_Rewrite / Hakan ŞEN Kişisel Günce

Temmuz 7

(PHP) htaccess ile kalıcı link oluşturma Mod_Rewrite

Yorumlar (0) Tarih : 7 Temmuz 2008 Pazartesi Saat: 14:12:29
Kategoriler : Programlama
Etiketler : htaccess, mod_rewrite, type, php, seo

Merhabalar, değişik bir makale ile yine buradayız, mail oluyla bana ulaşan Akın`beyin isteği doğrultusunda .htaccess ile kalıcı link oluşturma hakkında biraz bilgileneceğiz yani

http://site/index.php?sayfa=blog&konu=ben-kimim,

şeklindeki adresleirin nasıl

http://site/blog/ben-kimim.htm

şeklinde veritabanına dayalı kullanıcı dostu kalıcı linkler (Friendly URL) yapılacağınız öğreneceğiz.

Bu işlemleri yapabilmek için sunucumuzda mod_rewrite özelliğinin aktif edilmesi gerekmektedir, bu ayarlar sunucu yönetimi tarafından APACHE conf dosyalarında düzenleme yapılarak kullanılabilir.

Eğer mod_rewrite durumunu bilemiyorsanız,

Kod:
<?php

phpinfo();
?>


satırlarını içeren bir dosya yaratım info.php adı ile sunucunuza yükleyin http://site/info.php adresinden sunucunuzda bulunan tüm configürasyon bilgilerine ulaşabilirsiniz, ama bize burada sadece mod_rewrite ile ilgili olan bölüm gereklidir (bu yazı için), Eğer kapalı görünüyorsa sunucu yönetiminiz ile görüşüp destek alabilirsiniz.

Örnek vererek başlayalım;

http://site/index.php?sayfa=$strsayfa&konu=$strkonu olan url adresimizdeki $değişkenleri kullanarak bir .htaccess dosyası kullanacaksak,

.htaccess dosyamız
Kod:


Options
+FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule type(.*)-(.*).htm$ /index.php?sayfa=$1&konu=$2


$değişkenler type() içerisinde bulunan yıldızların sırasını belirtiyor, bu 1-2 nerden geldi demeyin sonra

http://site/index.php?sayfa=blog&konu=ben-kimim

olan urlmiz

http://site/blog/ben-kimim.htm

olarak da işlem görecektir.



Bunu birde veritabanlı işlemlerde görmek gerekirse.

Kod:


<?php
While($row = @ mysql_fetch_Array($rs)){
$strsayfa= $row["sayfa"];
$strsayfa= URLencode(htmlentities($strsayfa,ENT_QUOTES));
$strkonu = $row["konu"];
$strkonu= URLencode(htmlentities($strkonu,ENT_QUOTES));
echo "<a href="http://www.site.com/index.php?
sayfa=$strsayfa&konu=$strkonu">";
echo "$row[aciklama]</a><br>
";
}
?>


şeklinde kullanılan bir veriyi

Kod:


<?php
While($row = @ mysql_fetch_Array($rs)){
$strsayfa= $row["sayfa"];
$strsayfa= URLencode(htmlentities($strsayfa,ENT_QUOTES));
$strkonu = $row["konu"];
$strkonu= URLencode(htmlentities($strkonu,ENT_QUOTES));
echo "<a href="http://www.site.com/type$
strsayfa-$strkonu.htm">";
echo "$row[aciklama]</a><br>
";
}
?>


şeklinde yapınca çalışması gerekiyor.

Bende bu dökümanı buradan alıp kendi dilimle çevirmeye çalıştım, bildiğim söylenemez.
Neyse sağlıcakla kalın

Henüz kimse bu konuda bişey dememiş.
Senin söyleyeceklerin varsa form aşağıda.

Yorumlar

Yorum Yaz

http://     

  Sizi Hatırlayalım mı?


eXTReMe Tracker