• 15-06-2008, 16:32:34
    #1
    selam arkadaşlar bir sorum var yardımcı olacak arkadaşa şimdiden çok teşekur ediyorum. ufak bir makale scripti yaptım title uyarlaması editor uyarlaması description uyarlaması da bitti son olarak seoyu uyarlıyamadım yapmış olduğum araştırmalarda .htaccess uzerinde ufak bir oynama yapıldığında yulardaki url kısmını :

    makaleoku.php?id=7video
    bu şekilden
    makale-video.html
    
    veya 
    
    makale/video.html
    bu şekle getirebildiğimizi gördum ama her ne kadar denediysem bi turlu olmadı

    sayfamdaki menu link tablasını şu şekilde kodlamıştım

    <td><a href=makaleoku.php?id=$id$baslik>$baslik</a></td>
    şimdi bunu ben .htaccess te nasıl bir maskeleme yapabilirim yardımcı olacak arkadaşa şimdiden çok teşekur ediyorum saygılar.
  • 15-06-2008, 20:47:17
    #2
    arkadaşlar seo yu yaptım çok şükür yalnızca bir problemim kaldı başlıklardaki boşlukları perma linkle düzeltmek perma linki bi turlu uyarlıyamadım bilgisi olan arkadaş varsa yardımcı olabilirmi.

    örnek buldum ama hata veriyor bi yanlışlıkmı var bu kodda

    function permayap($deger) {
    $turkce=array("ş","Ş","ı","(",")","'","ü","Ü","ö","Ö","ç","Ç"," ","/","*","?","ş","Ş","ı","ğ","Ğ","İ","ö","Ö","Ç","ç","ü","Ü");
    $duzgun=array("s","S","i","","","","u","U","o","O","c","C","-","-","-","","s","S","i","g","G","I","o","O","C","c","u","U");
    $deger=str_replace($turkce,$duzgun,$deger);
    $deger = preg_replace("@[^A-Za-z0-9\-_]+@i","",$deger);
    return $deger;
    }
    ayrıca
    bu kodda
    $yenibaslik = permayap($eskibaslik)
    hep hata veriyor

    benım sqlden çektiğim başlık $baslik seklinde

    bu kodu php sayfasına gömuyorum ama hep hata var
  • 15-06-2008, 20:51:10
    #3
    valla bu banad alazım umarım biri yardımcı olur
  • 15-06-2008, 22:46:30
    #4
    yokmu bi yakışıklı koder şu derdimize bir çare
  • 16-06-2008, 01:13:15
    #5
    o yakışıklı benım ve bu olayı çözdum şimdi sebeplenmek isteyen arkadaşlarım olabileceğinden buraya ekliyorum

    öncelikle şunu yapıyoruz .htaccess dosyamıza şu satırları ekliyoruz en alta
    RewriteEngine On
    RewriteRule ^(.*)-(.*).html$ makaleoku.php?id=$1&baslik [L,NC]
    burda .* işaretleri makaleokudan sonraki değişkenlerin sıralamasını alıyor.

    kendinize göre sıralayın diyecem ama hata veriyor çoğu zaman neyse
    ^ bu işaret ile .* arasına istediğiniz bir kelime koyabilirsiniz sitenizi tanımı da olabilir fark etmez.
    bu olaydaki mantık linklerimizi maskelemek önemli olan şey id numramızın bu cumle içinde olması gerisi hava cıva

    ikinci yapacağımız olay şudur :

    linkimizi belirlemek

    makaleoku.php?id=123 şeklindeki link vermiş olduğumuz php sayfamızda linkleri değiştirmemiz gerekiyor
    ben konun en başında örnek linkimi vermiştim şöyle

    makaleoku.php?id=20 bunu biz .htaccess teki değiştirme ile şu hale getirdik

    20-video.html haline getirdik.

    linkimizi şu şekilde verebiliriz tabi size göre hangisi uygunsa üretebilirsiniz.

    a href=$id-$baslik.html

    neyse bu olayda bitti ve bir de baktıkki arada boşluk olan linklerimizde kırılma olmuş bu kırılma ile 404 hatası veriyor sayfa gıcık oldu hemen;

    üçüncü önemli noktadan bahsedecez bunuda uyguladığımızda hiç bir problemimiz kalmıyacak.

    oda permalink tir.
    bir örnek permalink verelim hemen

    function perma($baslik) {
    $turkce=array("ş","Ş","ı","(",")","'","ü","Ü","ö","Ö","ç","Ç"," ","/","*","?","ş","Ş","ı","ğ","Ğ","I","ö","Ö","Ç","ç","ü","Ü");
    $duzgun=array("s","S","i","","","","u","U","o","O","c","C","-","-","-","","s","S","i","g","G","I","o","O","C","c","u","U");
    $baslik=str_replace($turkce,$duzgun,$baslik);
    $baslik = preg_replace("@[^A-Za-z0-9\-_]+@i","",$baslik);
    return $baslik;
    }
    bu fonksiyonumuz mysqlden çekmiş olduğumuz id numarasına bağlı başlıkların boşluklarına ve turkçe karakterlerine çözum bulan bir fonksiyondur.
    bunu nereye yerleştirecez php kodumuzun en ustune ekleycez yani <?php den hemen sonra. fonksiyona hiç karışmayın yapacağınız ikinci olay ise sorgudan sonra ise $ybaslik = perma($baslik); şeklinde bir değişken belirleyip fonksiyona atmış olduğu başlığı temizleyen bir kod. bu kodu linkimizdeki urlde kullanıyoruz. hepsi bu

    Not :1- Dreamweaverle veya diğer editörlerle permalink fonksiyonu sayfaya eklendiğinde harfler değişiyor. hata verir dikkatli olun notpad le açın. yoksa linklerinizdeki bazı turkşe karakterler silinir sonra neden karşılığı çıkmıyor demeyin.
    2- iki farlı sayfaya perma uygulayacak isek fonksiyondan sonraki perma kelimeleri aynı olmasın hata veriyor

    hepsi bukadar bu pazar gunu sabahtandır scriptime seo yapmaya çalıştım ve başardım makale tamamen bana aittir r10a saygılar.
  • 16-06-2008, 11:32:50
    #6
    Kimlik doğrulama veya yönetimden onay bekliyor.
    function filtre($baslik){
    $tr = array(" ",".","'","ç","Ç","ğ","Ğ","ı","İ","ö","Ö","ş","Ş","ü","Ü");
    $en = array("-","_","-","c","C","g","G","i","I","o","O","s","S","u","U");
    $baslik = str_replace($tr,$en,$baslik);
    return $baslik;
    }
  • 16-06-2008, 20:01:54
    #7
    Eposta Aktivasyonu Gerekmekte
    .htaccess
    RewriteEngine On
    RewriteRule ^makale/(.*)/(.*) makale-oku.php?makaleid=$1 [L]

    fonksiyonlar
    // başlıkları düzenle
    function duzenle($str = NULL) {
    $makaleBaslik = strtolower($str);
    $makaleBaslik = str_replace(" ","-",$makaleBaslik);
    $makaleBaslik = str_replace("(","",$makaleBaslik);
    $makaleBaslik = str_replace(")","",$makaleBaslik);
    $makaleBaslik = str_replace(",","",$makaleBaslik);
    $makaleBaslik = str_replace(":","",$makaleBaslik);
    $makaleBaslik = str_replace(";","",$makaleBaslik);
    $makaleBaslik = str_replace("ı","i",$makaleBaslik);
    $makaleBaslik = str_replace("ğ","g",$makaleBaslik);
    $makaleBaslik = str_replace("ü","u",$makaleBaslik);
    $makaleBaslik = str_replace("ş","s",$makaleBaslik);
    $makaleBaslik = str_replace("ö","o",$makaleBaslik);
    $makaleBaslik = str_replace("ç","c",$makaleBaslik);
    $makaleBaslik = str_replace("İ","i",$makaleBaslik);
    $makaleBaslik = str_replace("I","i",$makaleBaslik);
    $makaleBaslik = str_replace("Ğ","g",$makaleBaslik);
    $makaleBaslik = str_replace("Ü","u",$makaleBaslik);
    $makaleBaslik = str_replace("Ş","s",$makaleBaslik);
    $makaleBaslik = str_replace("Ö","o",$makaleBaslik);
    $makaleBaslik = str_replace("Ç","c",$makaleBaslik);
    $str = $makaleBaslik;
    return $str;
    }

    // URL yi düzenle
    function makale_url($makaleid = NULL, $makalebaslik = NULL) {
    $siteurl = 'http://www.siteninadresi.com';
    $makalebaslik = duzenle($makalebaslik);
    $seolumakale = $siteurl.'makale/'.$makaleid.'/'.$makalebaslik;
    return $seolumakale;
    }

    Bağlantı
    <a href="<?php makale_url($makaleid, $makalebaslik); ?>">Makale</a>