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.02.2010 02:57
Bilgiler için teşekkürler.
2. MUST!  27.03.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
Додавання комментарів доступно лише зареєстрованим користувачам