• 12-10-2010, 00:07:05
    #1
    Merhaba arkadaşlar
    Şİmdi benim aşağıdaki gibi bir dönüştürme seo fonksiyonum var.

    <?php
    //----Seo Link yapıyoruz
     function seo($sef){
     $sef = strtolower($sef);
     $degis1 = array('İ','Ö','Ü','Ğ','Ç','Ş','ö','ü','ğ','ç','ş','ö','_',' ','--','---','ı');
     $degis2 = array('i','o','u','g','c','s','o','u','g','c','s','o','-','-','-','-','i');
     $sef    =str_replace($degis1,$degis2,$sef);
     $sef    =preg_replace("@[^A-Za-z0-9\-_]+@i","",$sef);
     return $sef;
     } 
     ?>
    Verileri düzgün bir şkeilde çekiyorum ve aşağıdaki gibi bir link oluşturuyorum

    //burada sql dosyası falan filan var
    
    $sef=seo($alim['ilan_baslik']);
    
    <td scope="col"><a href="<?php echo $sef; ?>-ilandetay<?php echo $alim['id'];?>.html"><?php echo substr($alim['ilan_baslik'],0,45);?></a></td>

    ve htaccess dosyam da şağıdaki gibi
    RewriteEngine On
    RewriteRule ^(.*)-ilandetay(.*).html$ ilandetay.php?id=$2 [L,NC]
    Ben ilanın linkini doğru şekilde oluşturuyorum.
    Yani linkler şu şekilde oluşuyor.
    ufo-bizden-sorulur-ilandetay61.html
    ama tıkladığımda 404 error hatası veriyor.

    EK BİLGİ:
    .htaccess dosyam alt klasörün içinde
    yani mesela sitem/ilanlar klasörü içinde çalışıyorum.ve şu an htaccess dosyam bu ilanlar klasörünün içinde bulunuyor.Bunu ana dizine de taşıdım yine çalışmadı ana dizine koyduğumda ilandetay.php yönlendirme sayfasını nasıl yapacağımı bulamadım.

    SORU:
    Bu seo linki neden çalışmıyor?
    Htacess de nasıl bir ayar yapmalıyım?
    Htaccess dosyası her zaman ana dizine mi konulur?
    Eğer ana dizinde olması gerekiyorsa alt klasör içindeki bir sayfada seo işlemi için rewrite nasıl olmalıdır?

    Saygılar...
  • 12-10-2010, 00:21:20
    #2
    Birde bunu denermisin.
    Alıntı
    RewriteRule (.*)\-ilandetay(.*)\.html$ ilandetay.php?id=$2 [L,NC]
  • 12-10-2010, 00:26:12
    #3
    işe yaradı teşekkürler.