• 24-04-2009, 18:36:07
    #1
    Üyeliği durduruldu
    Merhabalar,
    yazdığım bir scriptte yazi.php?id=1 linkini /kategorisi/baslik.html olarak çağırmak istiyorum.Birkaç şey buldum ama pek anlamadım(Permalink Yapımı Php Mod_Rewrite Kullanımı | Harmankaya|ORG) detaylı açıklayabilecek birisi var mı?
  • 24-04-2009, 18:48:04
    #2
    .htaccess
    RewriteEngine on 
    RewriteRule (.*)/(.*)-(.*).html$ yazi.php?kategori=$1&baslik=$2&id=$3 [L]

    Şeklinde yaparsınız ve veriyi gönderirkende
    kategori/baslik-id.html
    şeklinde yaparsanız çalışır ama bunun için tabi yazi.php'den id= şeklinde gönderiyorsanız ki öyle gönderiyorsunuz bundan sonrakileri şu şekilde gönderirsiniz.
    yazi.php?kategori=kategorisi&baslik=başlığı&id=idi
    Site üzerindende şu şekilde çalıştırabilirsiniz.
    siteadi.com/kategori/baslik-id.html
  • 24-04-2009, 18:56:47
    #3
    Üyeliği durduruldu
    Alıntı
    yazi.php'den id= şeklinde gönderiyorsanız
    göndermek derken anlayamadım. yazi.phpde veritabanında idye göre veri çekip listeliyor.
  • 24-04-2009, 18:59:35
    #4
    Yani yazi.php'ye nerden veriyorsanız id'i ordan diğer gösterdiğim gibi göndereceksiniz
    yazi.php?kategori=kategorisi&baslik=başlığı&id=idi
    bu şekilde yani
  • 24-04-2009, 19:04:58
    #5
    Üyeliği durduruldu
    Ntie adlı üyeden alıntı: mesajı görüntüle
    Yani yazi.php'ye nerden veriyorsanız id'i ordan diğer gösterdiğim gibi göndereceksiniz
    yazi.php?kategori=kategorisi&baslik=başlığı&id=idi
    bu şekilde yani
    hata verdi. hocam yaz.php nin kodları
    <?php
    include "../ayar.php";
    $gid = $_GET["id"];
    $sql = mysql_query ("select * from yazi where id like $gid");
    while ($liste = mysql_fetch_array($sql)) {
    ?><html>
    <body>
    
    <? echo "$liste[1]"; ?> <br>
    <? echo "$liste[2]" ; ?> <br>
    <? echo "$liste[3]"; ?><br>
    <? echo "$liste[4]"; ?><br>
    </body><?
    }
    
    
    ?>
    rica etsem ne yapılması gerekiyosa düzeltip yazabilir misin?
    birde .htacessye başka herhangi bir kod eklememe gerek var mı?
  • 24-04-2009, 19:12:02
    #6
    Yazi.php'ye veriyi hangi sayfadan gönderiyorsunuz onları yazmaniz yeterli
  • 25-04-2009, 07:57:18
    #7
    Üyeliği durduruldu
    Şimdi tarayıcıya yazarak çalıştırabiliyorum.Bende sayfa linkleri ?sayfa=yazi&id=1 olarak geliyor. ?sayfa=yazi&kategori=deneme&baslik=dene&id=25 olarak çağırdığımda indexte orta bölümde getirebiliyor. Bunu /kategori/baslik-id.html olarak yine index.phpde nasıl çağırabilirim?
  • 25-04-2009, 09:40:50
    #8
    RewriteEngine on 
    RewriteRule (.*)/(.*)-(.*).html$ ?sayfa=$1&id=$3 [L]
    Sayfa=yazı olarak cagırdıgınız degiskense ustteki htaccessin olması lazım..

    kategori/baslik.html yapabilmeniz için mysql tablonuzda baslık sutununun benzersiz olması gerekir..UNIQUE

    bu sekilde seo istiyorsanız öncelikle mysql tablonuzda bir sütun daha oluşturun örnegin ismine seobaslik koyun.. İçerik ekleme Sorgusunu gönderirken konu baslıgını replace yaparak türkçe karakterlerden arındırın mysql a seobaslik sutununa kaydedin..

    RewriteEngine on 
    RewriteRule (.*)/(.*).html$            yazi.php?id=$2
    detay sayfanızdaki sorguyuda alttaki gibi degistirirseniz calısması lazım..

    $sql = mysql_query ("select * from yazi where seobaslik='$id");
  • 27-04-2009, 02:26:28
    #9
    başka bir sürü yöntemde mevcut bence en iyisi sitenizin yapısına göre bu işi halletmek...