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.
Thanked: 1 time