• 03-06-2009, 09:36:47
    #1
    Merhaba,

    Sitedeki linkleri düzenliyorum ve bunu çoğu kişi gibi .htaccess kullanarak yapıyorum. İçeriği ve kategorileri veritabanından çekerken id ye göre çekiyor ve bir fonksiyonla konu başlığını url olucak şekilde hazırlıyorum.

    .htaccess dosyası aşağıdaki gibi


    Options +FollowSymlinks
    RewriteEngine On
    ReWriteRule ^category/([A-Za-z0-9-]+).html category.php?cat=$1 [L]  
    ReWriteRule ^([A-Za-z0-9-]+).html article.php?id=$1 [L]
    ReWriteRule ^rss.xml rss.php [L]
    linkleri oluştururkende aşağıdaki gibi bir yol izliyorum

    href="<?php echo $baseurl; ?><?php echo $intro['id']; ?>-<?php echo $url; ?>.html"

    bunun sonucunda bana url olarak :
    http://www.domain.com/25-anlamli-url-yaratmak.html

    ÅŸeklinde lin oluÅŸturuyor.

    Fakat url içinde geçen içeriğe ait id numarasını yani örnekteki 25 in görünmesini istemiyorum. sadece aşağıdaki gibi olsun istiyorum.

    http://www.domain.com/anlamli-url-yaratmak.html

    Bunu nasıl yapabilirim ?

    Not: veritabanına başlığın url ye hazır halini kaydedip daha sonra id değilde başlığa göre çek derseniz onun nasıl yapıldığını biliyorum istediğim şey o değil yani şu adresteki betik benzeri bir çözüm istemiyorum. İd numarasını kullanarak verileri çekmek istiyorum ve url içinde bu id numarası görünmesini istemiyorum.

    Teşekkürler
  • 03-06-2009, 09:51:06
    #2
    Üyeliği durduruldu
    database e bir alan daha eklemeniz gerekiyor seolink gibi. sonra bu alanin tekil olması gerekiyor. veri girişinizi tümden yapilandirmaniz gerekiyor yani buna göre
  • 03-06-2009, 09:54:29
    #3
    Üyeliği durduruldu
    arkadaÅŸ o yontemi begenmiyor.

    çok şey istiyon
    beyazın psikopati gibi olmus,
    php seo istiyoum ama mod_rewrite kullanmak istemiyorum
  • 03-06-2009, 10:00:33
    #4
    Netboard adlı üyeden alıntı: mesajı görüntüle
    Merhaba,

    Not: veritabanına başlığın url ye hazır halini kaydedip daha sonra id değilde başlığa göre çek derseniz onun nasıl yapıldığını biliyorum istediğim şey o değil yani şu adresteki betik benzeri bir çözüm istemiyorum. İd numarasını kullanarak verileri çekmek istiyorum ve url içinde bu id numarası görünmesini istemiyorum.

    Teşekkürler
    Sence bu olabilirmi.. browserden id ile icerigi cagırırsan id girmek zorundasın seo linkle icerigi cagırırsan basligi seo olarak mysql'a kaydetmen gerekir..ayrıca seo_baslik kısmını unique yapman gerekir.
  • 03-06-2009, 10:09:04
    #5
    gezginturk adlı üyeden alıntı: mesajı görüntüle
    Sence bu olabilirmi.. browserden id ile icerigi cagırırsan id girmek zorundasın seo linkle icerigi cagırırsan basligi seo olarak mysql'a kaydetmen gerekir..ayrıca seo_baslik kısmını unique yapman gerekir.
    Mantıken öyle yapılır bunlar ama arkadaş böyle yapmak istemiyormuş

    KaleSoft adlı üyeden alıntı: mesajı görüntüle
    arkadaÅŸ o yontemi begenmiyor.
    çok şey istiyon
    beyazın psikopati gibi olmus,
    php seo istiyoum ama mod_rewrite kullanmak istemiyorum
    hakikaten benim de aklıma ilk pskikopat geldi
    cümle aynen o tarzda olmuş

    Netboard adlı üyeden alıntı: mesajı görüntüle
    Not: veritabanına başlığın url ye hazır halini kaydedip daha sonra id değilde başlığa göre çek derseniz onun nasıl yapıldığını biliyorum istediğim şey o değil yani şu adresteki betik benzeri bir çözüm istemiyorum. İd numarasını kullanarak verileri çekmek istiyorum ve url içinde bu id numarası görünmesini istemiyorum.
    Teşekkürler
    .htaccess ( mod_rewrite ) kullansanızda , bunları kullanmadan linkleri işlemek için fonksiyon oluştursanız da ID 'nin URL de gözükmemesi için bir alanı tekil olarak ayarlayıp ( örneğin başlık ) , SEF fonksyionundan geçirilmiş halini buraya kaydetmeniz lazım ki " WHERE id = $id" yerine " WHERE sef_baslik = 'baslik'" gibi tekil bir alanda sorgulama yapabilesinizi
  • 03-06-2009, 10:17:00
    #6
    Üyeliği durduruldu
    aslında bi yontem var ama begenir misin bilmiyorum,
    ben yeni projelerde kullanıyorum..

    mesela:
    "http://www.üğişçö.com/burasi/seo-alani/istefigini-yaz/12.htm"
    "http://www.üğişçö.com/burasi/seo-alani/istedigini-yaz/aZ19QidZ1232Qparametre_3Zdeneme.htm"
    3 rapametre gidiyor burdan tabi bunlari parse etmen lazm
    Z : =
    Q : &
    a=19
    is=1232
    parametre_3=deneme

    bak ÅŸurdaki gibi:
    http://puanver.net/
    siteyi gez, dil değiştir vs anlayacaksın meseleyi.
  • 03-06-2009, 11:15:26
    #7
    Aslinda dediginiz gibi yapiyordum icerigi veritabanina kaydederken bir alanim vardi ve o alan seo_baslik seklindedi fakat daha sonra bir kac arkadastan edindigim bilgilere bu sekilde veritabanini yoruyormus yani id aramasi yerine string aramasi yorar dediler. Bende bu dogrultuda degisiklik yaptim.

    Simdi bir daha geriye donup herseyi degistirmek istemiyorum eger id yi kaldiramiyorsam sanirim id ile kullanmak zorunda kalicam. Fakat simdi baska bir problemim var ve cozemiyorum

    .htaccess dosyam

    Options +FollowSymlinks
    RewriteEngine On
    ReWriteRule ^category/([A-Za-z0-9-]+).html category.php?cat=$1 [L,NC]  
    ReWriteRule ^([A-Za-z0-9-]+).html article.php?id=$1 [L,NC]
    ReWriteRule ^rss.xml rss.php [L,NC]
    url

    <a href="<?php echo $baseurl; ?><?php echo $url; ?>-<?php echo $intro['id']; ?>.html">
    article.php yani yazinin tamaminin oldugu sayfa

    $id= intval($_GET['id']);
    $hit=mysql_query("UPDATE content SET hits=(hits+1) WHERE id='$id'");
    $sql= mysql_query("SELECT content.title, content.keywords, content.catid, content.description AS metadesc, content.content_text, content.date, content.hits, category.name FROM content INNER JOIN category ON content.catid = category.id where content.id='$id'");
    $text=mysql_fetch_assoc($sql);
    <?php echo $text['content_text']; ?>
    Bu sekilde seo lu linke tikladigimda

    http://www.domain.com/seo-link-25.html ekrana hicbirsey basmiyor yani seo link calismiyor id gelmiyor.

    Fakat su sekilde seo suz yazdigimda linki

    http://www.domain.com/article.php?id=25 sorunsuz calisiyor icerigi basiyor.

    Sorun nerede olabilir ?
    Daha duzgun olsun derken hepsini bozdum
  • 03-06-2009, 11:43:40
    #8
    Kimlik doğrulama veya yönetimden onay bekliyor.
    url.com/Spor/1-255/Avrupanin-Krali.html şeklinde yapsan uygun olur aslında.

    Buradaki 1 sayfayı, 255 ise içerik idsini simgeliyor.

    Bunu htaccesste ReWriteRule ^(.*)/(.*)-(.*)/(.*).html index.php?sayfa=$2&icerik_id=$3

    şeklinde gösterirseniz index içindeki switch te sayfayı 1 gördüğü zaman makale_detay.php yi include eder. makale_detay da içerik idsini alıp ekrana basar. Biraz kurcalarsanız güzel bir kullanım aslında.
  • 03-06-2009, 13:51:59
    #9
    Üyeliği durduruldu
    seo_baslik alanına bir index at,
    sorgularda da = ile arama yap,
    seo_baslik='a-b-c' gibi

    çok yavaşlama olmaz.