• 31-12-2010, 19:40:49
    #1
    Üyeliği durduruldu
    Merhabalar,

    Bildiğiniz üzere Wordpress'te konu bağlantıları yönetim panelinden istenildiği gibi düzenlenebiliyor. Bende yapmakta olduğum bir scripte bu özelliği ilâve etmek istiyorum. Esasen permalink'leri yaptım, fakat .htaccess'ide ayarlamam gerekiyor. Bu konuda yardımcı olacak var mı?

    function get_permalink($params,$smarty){
    	global $db;
    	$saman = info(permalink);
    	$post = $db->get_row("SELECT id,add_date,cat,who,sef FROM posts WHERE id={$params['id']}");
    	$permalink = array();
    	if(stripos($saman,'{id}') !== false){
    		$permalink[stripos($saman,'{id}')] = $post->id;
    		}
    	if(stripos($saman,'{who}') !== false){
    		$permalink[stripos($saman,'{who}')] = $post->who;
    		}
    	if(stripos($saman,'{category}') !== false){
    		$cat = $db->get_row("SELECT sef FROM cats WHERE id={$post->cat}");
    		$permalink[stripos($saman,'{category}')] = $cat->sef;
    		}
    	if(stripos($saman,'{date}') !== false){
    		$permalink[stripos($saman,'{date}') ] = date('Y/m/d',$post->add_date);
    		}	
    	if(stripos($saman,'{postname}') !== false){
    		$permalink[stripos($saman,'{postname}')] = $post->sef;
    		}	
       if(preg_match_all('#{str-(.*?)}#',$saman,$matches)){
       	$arrsize = count($matches[1]);
       	for($i=0;$i < $arrsize;$i++){
    		$permalink[stripos($saman,$matches[1][$i])] = $matches[1][$i];
       		}
       	}
       ksort($permalink,SORT_NUMERIC);
       $permalink = str_replace(',',null,implode(',',$permalink));
       return $permalink.@strstr($saman,'.');
    }
    Saygılarımla;
    Samet ARAS.
  • 31-12-2010, 20:27:06
    #2
    Üyeliği durduruldu
    okadar kasmaya gerek yok.
    tüm gelen urlleri indexe yolla daha sonra parse yap
  • 31-12-2010, 20:30:44
    #3
    SametAras adlı üyeden alıntı: mesajı görüntüle
    Merhabalar,

    Bildiğiniz üzere Wordpress'te konu bağlantıları yönetim panelinden istenildiği gibi düzenlenebiliyor. Bende yapmakta olduğum bir scripte bu özelliği ilâve etmek istiyorum. Esasen permalink'leri yaptım, fakat .htaccess'ide ayarlamam gerekiyor. Bu konuda yardımcı olacak var mı?

    function get_permalink($params,$smarty){
    	global $db;
    	$saman = info(permalink);
    	$post = $db->get_row("SELECT id,add_date,cat,who,sef FROM posts WHERE id={$params['id']}");
    	$permalink = array();
    	if(stripos($saman,'{id}') !== false){
    		$permalink[stripos($saman,'{id}')] = $post->id;
    		}
    	if(stripos($saman,'{who}') !== false){
    		$permalink[stripos($saman,'{who}')] = $post->who;
    		}
    	if(stripos($saman,'{category}') !== false){
    		$cat = $db->get_row("SELECT sef FROM cats WHERE id={$post->cat}");
    		$permalink[stripos($saman,'{category}')] = $cat->sef;
    		}
    	if(stripos($saman,'{date}') !== false){
    		$permalink[stripos($saman,'{date}') ] = date('Y/m/d',$post->add_date);
    		}	
    	if(stripos($saman,'{postname}') !== false){
    		$permalink[stripos($saman,'{postname}')] = $post->sef;
    		}	
       if(preg_match_all('#{str-(.*?)}#',$saman,$matches)){
       	$arrsize = count($matches[1]);
       	for($i=0;$i < $arrsize;$i++){
    		$permalink[stripos($saman,$matches[1][$i])] = $matches[1][$i];
       		}
       	}
       ksort($permalink,SORT_NUMERIC);
       $permalink = str_replace(',',null,implode(',',$permalink));
       return $permalink.@strstr($saman,'.');
    }
    Saygılarımla;
    Samet ARAS.
    BHCoder adlı üyeden alıntı: mesajı görüntüle
    okadar kasmaya gerek yok.
    tüm gelen urlleri indexe yolla daha sonra parse yap
    BHCoderin de dediği gibi REQUESTlerin tümünü index.php yada başka bir php dosyasına yollayın ona göre regular expression kullanarak REQUEST URI 'yi işleyin.
  • 31-12-2010, 22:26:47
    #4
    Üyeliği durduruldu
    Dediğiniz yöntem daha iyi geldi.Tüm REQUEST'leri index.php dosyasına gönderdim:

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . index.php [L]
    </IfModule>
    Fakat, bunu nasıl parse edeceğim?

    echo $_SERVER["REQUEST_URI"];
    exit();
  • 01-01-2011, 00:06:08
    #5
    Kimlik doğrulama veya yönetimden onay bekliyor.
    SimpleSEF isminde bir SMF modu var. Onu inceleyin. Şu an direk kod veremiyorum.
  • 01-01-2011, 11:08:45
    #6
    Üyeliği durduruldu
    grafitus adlı üyeden alıntı: mesajı görüntüle
    SimpleSEF isminde bir SMF modu var. Onu inceleyin. Şu an direk kod veremiyorum.
    Teşekkürler, bi göz atayım.
  • 01-01-2011, 17:42:28
    #7
    SametAras adlı üyeden alıntı: mesajı görüntüle
    Dediğiniz yöntem daha iyi geldi.Tüm REQUEST'leri index.php dosyasına gönderdim:

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . index.php [L]
    </IfModule>
    Fakat, bunu nasıl parse edeceğim?

    echo $_SERVER["REQUEST_URI"];
    exit();
    url_parse ()
  • 01-01-2011, 18:55:50
    #8
    Üyeliği durduruldu
    Cycl0ne adlı üyeden alıntı: mesajı görüntüle
    url_parse ()
    İyide URL ahmet=1&mehmet=5 değilde site.com/id/sef-link.html olarak geliyor.
  • 01-01-2011, 19:22:27
    #9
    SametAras adlı üyeden alıntı: mesajı görüntüle
    İyide URL ahmet=1&mehmet=5 değilde site.com/id/sef-link.html olarak geliyor.
    Regular Expression deneyebilirsin