Cotonti URL Modifikasyonu Cotonti URL Modifikasyonu

Cotonti url modifikasyon örnekleri ve genel bilgiler.

Giriş:

Cotonti ile birlikte artık yepyeni bir özellik mevcut. Bağlantılarınızı extra zahmete girmeden artık yönetim panelinden şekillendirebiliyorsunuz.
Şimdi bunun nasıl yapılacağını hep birlikte öğrenelim.

Öncelikler:

Öncelikle kök dizinimize bir adet .htaccess dosyası oluşturuyoruz ve bu dosyaya CHMOD 777 uygulayarak yazma iznimizi veriyoruz.
Daha sonra datas/urltrans.dat dosyasına CHMOD 777 uygulayarak yazma iznimizi veriyoruz.
Bu izinleri vermemizdeki amaç yönetim panelinden yapacağımız işlemleri bu dosyalara otomatik olarak yazdırmaktır.Tüm işlemleri yaptıktan sonra yazma izinlerini geri alabilirsiniz.

Detaylar:

Bu bölümde url modifikasyon sayfamızda hangi bölümün ne işe yaradığını öğreneceğiz.
Öncelikle Yönetim Paneli > Diğer > URL ya da admin.php?m=urls bağlantısı ile url modifikasyon sayfamıza giriyoruz.

* Yeni Kural -Bu bölüme yeni bir kural eklemenizi sağlar
* Alan - Bu bölümde her bir kurala "*".php atanmıştır. Bunları url modifikasyonlarına göre değiştirebilirsiniz.
* Parametreler - Bu alana url'niz için hangi parametreyi kullanmanız gerekiyorsa onu yazmalısınız
* Biçim - Bu alana url biçimini girebilirsiniz
* Sil - Bu buton ile url kurallarını silebilirsiniz.
* .htaccess yazılsın mı? - Bu alanda .htaccess dosyasının otomatik mi yoksa manuel mi yazılacağını seçebilirsiniz.
* Sırlama değiştir(Gizli) - Url modifikasyonu için oluşturmuş olduğunuz kuralların sırasını sürükle - bırak yöntemi ile değiştirebilirsiniz.
* Kaydet - Genel kayıt ve güncelleme kaydını bu buton ile yapabilirsiniz.

Genel url modifikasyon özelliklerini yapacağımız örneklerin içinde göreceğimiz için detaylı olarak anlatmıyorum.


Basit url modifikasyon örnekleri:

Sayfalar:

- Sayfa nosuna göre url modifikasyonu:

* Alan: - page
* Parametreler: - id=*
* Biçim: - {$_area}/{$id}
* Çıkış örneği: - sayfa/1
* .htaccess Örneği: -

RewriteRule ^sayfa/([0-9]+)$ page.php?id=$1 [QSA,NC,NE,L]

- Sayfa alyansına göre url modifikasyonu:

* Alan: - page
* Parametreler: - al=*
* Biçim: - {$_area}/{$al}
* Çıkış Örneği: - sayfa/benimekledigimsayfa veya sayfa/benim-ekledigim-sayfam veya sayfa/benim_ekledigim_sayfam
* .htaccess Örneği: -

RewriteRule ^sayfa/([a-zA-Z0-9_]+)$ page.php?al=$1 [QSA,NC,NE,L]

Üyeler:

- Üyeler için genel url modifiasyonu:

* Alan: - users
* Parametreler: - *
* Biçim: - {$_area}/
* Çıkış Örneği: - uyeler/
* .htaccess Örneği: -

    RewriteRule ^uyeler/$ users.php [QSA,NC,NE,L]

- Üyeler için kullanıcı nosuna göre url modifikasyonu:

* Alan: - users
* Parametreler: - m=*
* Biçim: - {$_area}/{$m}/{$id}{!$u}
* Çıkış Örneği: - uyeler/detay/1
* .htaccess Örneği: -

      RewriteRule ^uyeler/([a-z]+)/$ users.php?m=$1 [QSA,NC,NE,L]
      RewriteRule ^uyeler/([a-z]+)/([0-9]+)$ users.php?m=$1&id=$2 [QSA,NC,NE,L]


- Üyeler için kullanıcı adına göre url modifikasyonu:

* Alan: - users
* Parametreler: - m=*
* Biçim: - {$_area}/{$m}/{$u}{!$id}
* Çıkış Örneği: - uyeler/detay/Gökhan YILDIZ
* .htaccess Örneği: -

      RewriteRule ^uyeler/([a-z]+)/$ users.php?m=$1 [QSA,NC,NE,L]
      RewriteRule ^uyeler/([a-z]+)/([^?]+)$ users.php?m=$1&u=$2 [QSA,NC,NE,L]



Gelişmiş URL Modifikasyon Örnekleri:


Öncelikle system/ dizinine functions.custom.php isimli bir dosya oluşturuyoruz ve açıp bu kodu içine ekliyoruz.

<?php
/**
 * Main function custom library.
 *
 * @package Cotonti
 * @version 0.6.6
 * @author Neocrome, Cotonti Team
 * @copyright Copyright (c) 2008-2009 Cotonti Team
 * @license BSD License
 */

defined('SED_CODE') or die('Wrong URL');

?>

Daha sonra datas/config.php dosyamızı açıp bulun:

$cfg['customfuncs'] = FALSE;

değiştirin:

$cfg['customfuncs'] = TRUE;

Kaydedin ve kapatın.

Tekrar Yönetim Paneli > Diğer > URL sayfasına girin.

Kategori URL Modifikasyonu (list)

* Alan: - list
* Parametreler: - c=*
* Biçim: - {list_url_structure()}
* Çıkış Örneği: - makaleler/ ya da haberler/guncel/
* .htaccess Örneği: -

      RewriteRule ^(makaleler|haberler)/$ list.php?c=$1 [QSA,NC,NE,L]
      RewriteRule ^(makaleler|haberler)/([a-z-]+)/$ list.php?c=$2 [QSA,NC,NE,L]
      RewriteRule ^(makaleler|haberler)/([a-z-]+)/([a-z-]+)/$ list.php?c=$3 [QSA,NC,NE,L]

functions.custom.php dosyasını açın ve bulun:

defined('SED_CODE') or die('Wrong URL');

altına ekleyin:

/**
 * Changes  to / for List URLS
 *
 * @param array $args Args passed over from sed_url
 * @param array $spec Special info passed over from sed_url
 * @return string
 */
function list_url_structure(&$args, &$spec)
{
	global $sed_cat;
	
	$url = str_replace('.', '/', $sed_cat[$args['c']]['path']).'/';
	unset($args['c']);
	
	return $url;
}

Sayfa URL Modifikasyonu (pages)


Sayfa nosuna göre ya da sayfa alyansına göre url modifikasyonu:

* Alan: - page
* Parametreler: - *
* Biçim: - {page_url_structure()}
* Çıkış örneği: - kategori/no ya da kategori/altkategori/alyans
* .htaccess Örneği: -

#sayfa nosu icin
RewriteRule ^(makaleler|haberler)/([0-9]+)$ page.php?id=$2 [QSA,NC,NE,L]
RewriteRule ^(makaleler|haberler)/([a-z-]+)/([0-9]+)$ page.php?id=$3 [QSA,NC,NE,L]
RewriteRule ^(makaleler|haberler)/([a-z-]+)/([a-z-]+)/([a0-9]+)$ page.php?id=$4 [QSA,NC,NE,L]
#sayfa alyansi icin
RewriteRule ^(makaleler|haberler)/([a-zA-Z0-9-_]+)$ page.php?al=$2 [QSA,NC,NE,L]
RewriteRule ^(makaleler|haberler)/([a-z-]+)/([a-zA-Z0-9-_]+)$ page.php?al=$3 [QSA,NC,NE,L]
RewriteRule ^(makaleler|haberler)/([a-z-]+)/([a-z-]+)/([a-zA-Z0-9-_]+)$ page.php?al=$4 [QSA,NC,NE,L]
functions.custom.php dosyasını açın ve bulun:

defined('SED_CODE') or die('Wrong URL');

altına ekleyin:

/**
 * Changes  to / for Page URLS
 *
 * @param array $args Args passed over from sed_url
 * @param array $spec Special info passed over from sed_url
 * @return string
 */
function page_url_structure(&$args, &$spec)
{
	global $sed_cat, $pag, $row, $rpagecat;

	$page_cat = (!empty($sed_cat[$rpagecat]['path']) && empty($page_cat)) ? $sed_cat[$rpagecat]['path'] : $page_cat;
	$page_cat = (!empty($sed_cat[$pag['page_cat']]['path']) && empty($page_cat)) ? $sed_cat[$pag['page_cat']]['path'] : $page_cat;
	$page_cat = (!empty($sed_cat[$row['page_cat']]['path']) && empty($page_cat)) ? $sed_cat[$row['page_cat']]['path'] : $page_cat;
	$url =  str_replace('.', '/', $page_cat).'/';	
	if($args['id'])
	{
		$url .= $args['id'];
		unset($args['id']);
	}
	else
	{
		$url .= urlencode($args['al']);
		unset($args['al']);
	}
	return $url;
}
Kaydedin ve kapatın.

URL modifikasyonunun nasıl yapıldığını bu örnekler ile birlikte iyice anlamış olduk.Aynı tekniklerden yararlanarak kendiniz için yeni kurallar tanıyabilir ve kendi url modifikasyonunuzu hazırlayabilirsiniz.


1. Mehmet  10. Februar 2010, 02:57
Bilgiler için teşekkürler.
2. MUST!  27. März 2010, 17:36
hocam en ufak bi yere uygulamaa çalıştığımda örneğin user ile ilgili olan yeri uyguluyorum fakat bütün site linkleri değiştyor. örneğin sitadı.com/?id=7
Nur registrierte Benutzer können Kommentare schreiben