PDA

Orijinalini görmek için tıklayınız : seflink



aligultekin34
14-01-2012, 12:12
Slm Arkadaşlar. PHP de link kısmını icerik.html şeklinde nasıl gösteririz..

Akar
14-01-2012, 13:20
Güzel soru. Bunu ben tek başıma beceremem. Kaynak vereyim desem, siz zaten kaynak arayıp bulabilirsiniz :) Paylaşacak düzeyde bilen arkadaşların cevaplamasını bekleyelim madem.

Macit
13-02-2012, 01:38
Merhaba arkadaşım, seo link kullanımı yapmak istiyorsun anladım kadarıyla, .htaccess konusunda bir bilgin var mıdır?

Eğer sorunun devam ediyorsa yardımcı olabilirim.

Macit
13-02-2012, 06:42
Aşağıda paylaşacağım bilgiler ile rahatlıkla sisteminizi sef link haline getirebilirsiniz.

Genelde bu kolaylığı nedeniyle .htaccsess ve ufak bir filtreleme işlemiyle bu sağlanabiliyor. Fakat bunu sistemi kodlarken veritabanından çekmek kaydı ile de yapabiliyorlar.

Paylaştığımı bilgileri rahatlıkla sisteminize eklemeniz mümkündür.

İlk olarak SEO link yapabilmek için fonksiyonumuzu hazırlayalım. Bunu istediğiniz bir adla kaydedebilirsiniz.


İLK ADIM FONKSİYON


function seo($permalink){
$permalink= strtolower($permalink);
$degis1 = array('İ','Ö','Ü','Ğ','Ç','Ş','ö','ü','ğ','ç','ş', 'ö','_',' ','--','---','ı'); // Başlığımızda kullandığımız harfler ve karakterler
$degis2 = array('i','o','u','g','c','s','o','u','g','c','s', 'o','-','-','-','-','i'); // Başlığımızı SEF linke uygun hale getirmek için karakter değişimi
$permalink =str_replace($degis1,$degis2,$permalink);
$permalink =preg_replace("@[^A-Za-z0-9\-_]+@i","",$permalink);
return $permalink;
}



İçeriğini çektiğimiz sayfayı SEF link'e uygun bir şekilde hazırlıyoruz.

İKİNCİ ADIM VERİLERİ ÇEKMEK


$baglanti = mysql_query("SELECT * FROM icerik WHERE katid='$katid' and onay=1 ORDER BY id DESC LIMIT $baslangic,$limit");
while($veri = mysql_fetch_array($baglanti)){
$id =$veri['id'];
$baslik =stripslashes($veri['baslik']);
$icerik =stripslashes(strip_tags($veri['icerik']));
$icerikduzenle = substr($haber,0,482);
$resim =$veri['resim'];
$hit =$veri['hit'];
$permalink = seo($baslik);
echo '<div class="icerik">
<a href="'.$id.'-'.$permalink.'"><img src="resimyolu/'.$resim.'" border="0" class="icerikresim"></a><a href="'.$id.'-'.$permalink.'">'.$baslik.'</a>'.$icerikduzenle.'<br>
<span class="sonuc"><strong>'.$hit.'</strong> kez okundu</span><br><br></div>';


Yukarıda veritabanında çektiğimiz verilerin hazırladığımız fonksiyondan geçerek sef haline gelmesini sağladık ve sayfamızda gösterilmeye hazırladık.

Bu adımda veritabanından çekdiğimiz verileri sef haline getiriyoruz. Başlık yada devam gibi linklerin başına $permalink eklememiz o içerik linkinin değişmesini sağlayacaktır.

ÜÇÜNCÜ ADIM VERİLERİN LİNKLERİNİ SEF YAPMAK


<a href="'.$id.'-'.$permalink.'">'.$icerik.'</a> // Linke tagına $permalink değişkenimizi ekledik.


SON ADIM .HTACCESS


Options +FollowSymLinks
RewriteEngine on
RewriteRule ^([a-zA-Z0-9]*)-(.*)$ icerikgoster.php?id=$1&sayfa=$2 [L,NC] // Bu alanı kendimize göre düzenleyebiliriz.



Eğer ki sistemimiz UTF-8 karakterlerine göre hazırlanmış ise foksiyonumuzu şu şekilde hazırlamamızda fayda var.


<?php
function seo_helper( $link )
{
$yakala = array("/[şŞ]/i", "/[\`\~\!\@\#\$\%\^\*\(\)\;\,\.\'\/\_\-\s]/i", "/[çÇ]/i", "/[öÖ]/i", "/[ğĞ]/i", "/[ıİìíï]/i", "/[âàáäã]/i", "/[èêéë]/i","/ñ/i", "/[òóõ]/i", "/[ûùúüÜ]/i");
$degistir = array("s", "-", "c", "o", "g", "i", "a", "e", "n", "o", "u");

ksort($yakala);
ksort($degistir);

return preg_replace($yakala,$degistir,$link);
}
?>



Umarım faydalı olur, takıldığınız bir yer olursa yardım istemeni yeterlidir. Elimden geleni yapmaya çalışırım.


Sevgi ve Saygılarımla


Bazı veriler kısmen alıntı yapılmıştır.

mhusty
13-02-2012, 10:40
Aşağıda paylaşacağım bilgiler ile rahatlıkla sisteminizi sef link haline getirebilirsiniz.

Genelde bu kolaylığı nedeniyle .htaccsess ve ufak bir filtreleme işlemiyle bu sağlanabiliyor. Fakat bunu sistemi kodlarken veritabanından çekmek kaydı ile de yapabiliyorlar.

Paylaştığımı bilgileri rahatlıkla sisteminize eklemeniz mümkündür.

İlk olarak SEO link yapabilmek için fonksiyonumuzu hazırlayalım. Bunu istediğiniz bir adla kaydedebilirsiniz.


İLK ADIM FONKSİYON


function seo($permalink){
$permalink= strtolower($permalink);
$degis1 = array('İ','Ö','Ü','Ğ','Ç','Ş','ö','ü','ğ','ç','ş', 'ö','_',' ','--','---','ı'); // Başlığımızda kullandığımız harfler ve karakterler
$degis2 = array('i','o','u','g','c','s','o','u','g','c','s', 'o','-','-','-','-','i'); // Başlığımızı SEF linke uygun hale getirmek için karakter değişimi
$permalink =str_replace($degis1,$degis2,$permalink);
$permalink =preg_replace("@[^A-Za-z0-9\-_]+@i","",$permalink);
return $permalink;
}



İçeriğini çektiğimiz sayfayı SEF link'e uygun bir şekilde hazırlıyoruz.

İKİNCİ ADIM VERİLERİ ÇEKMEK


$baglanti = mysql_query("SELECT * FROM icerik WHERE katid='$katid' and onay=1 ORDER BY id DESC LIMIT $baslangic,$limit");
while($veri = mysql_fetch_array($baglanti)){
$id =$veri['id'];
$baslik =stripslashes($veri['baslik']);
$icerik =stripslashes(strip_tags($veri['icerik']));
$icerikduzenle = substr($haber,0,482);
$resim =$veri['resim'];
$hit =$veri['hit'];
$permalink = seo($baslik);
echo '<div class="icerik">
<a href="'.$id.'-'.$permalink.'"><img src="resimyolu/'.$resim.'" border="0" class="icerikresim"></a><a href="'.$id.'-'.$permalink.'">'.$baslik.'</a>'.$icerikduzenle.'<br>
<span class="sonuc"><strong>'.$hit.'</strong> kez okundu</span><br><br></div>';


Yukarıda veritabanında çektiğimiz verilerin hazırladığımız fonksiyondan geçerek sef haline gelmesini sağladık ve sayfamızda gösterilmeye hazırladık.

Bu adımda veritabanından çekdiğimiz verileri sef haline getiriyoruz. Başlık yada devam gibi linklerin başına $permalink eklememiz o içerik linkinin değişmesini sağlayacaktır.

ÜÇÜNCÜ ADIM VERİLERİN LİNKLERİNİ SEF YAPMAK


<a href="'.$id.'-'.$permalink.'">'.$icerik.'</a> // Linke tagına $permalink değişkenimizi ekledik.


SON ADIM .HTACCESS


Options +FollowSymLinks
RewriteEngine on
RewriteRule ^([a-zA-Z0-9]*)-(.*)$ icerikgoster.php?id=$1&sayfa=$2 [L,NC] // Bu alanı kendimize göre düzenleyebiliriz.



Eğer ki sistemimiz UTF-8 karakterlerine göre hazırlanmış ise foksiyonumuzu şu şekilde hazırlamamızda fayda var.


<?php
function seo_helper( $link )
{
$yakala = array("/[şŞ]/i", "/[\`\~\!\@\#\$\%\^\*\(\)\;\,\.\'\/\_\-\s]/i", "/[çÇ]/i", "/[öÖ]/i", "/[ğĞ]/i", "/[ıİìíï]/i", "/[âàáäã]/i", "/[èêéë]/i","/ñ/i", "/[òóõ]/i", "/[ûùúüÜ]/i");
$degistir = array("s", "-", "c", "o", "g", "i", "a", "e", "n", "o", "u");

ksort($yakala);
ksort($degistir);

return preg_replace($yakala,$degistir,$link);
}
?>



Umarım faydalı olur, takıldığınız bir yer olursa yardım istemeni yeterlidir. Elimden geleni yapmaya çalışırım.


Sevgi ve Saygılarımla


Bazı veriler kısmen alıntı yapılmıştır.

Güzel bir bilgi bir çok kişinin işine yarayacaktır...

aligultekin34
13-02-2012, 11:40
Bilgilendirme İçin Teşekkürler.. :D