Öneri ve Hata Raporu



Günün Sözü Asla yalnız yürümeyeceksin

oylama 2.9/5 yorum 1 yorum yazar Hakan Taşan tarih 17 Ağustos 2015

Codeigniter ile URI yönlendirme (URI routing) yapacağız. Codeigniter'ın genel URI dizilimi "siteniz.com/class(controller)/function/ID" olduğu için SEO açısından bu dizilim değiştirilmek istenebilir. İşte URI routing bize linkleri kontrol etme imkanı sunuyor. Aslında bu işlemler .htaccess dosyası ile yapılabilir ancak Codeigniter Framework işimizi kolaylaştırıyor.

URI Routing işlemleri yapılacak dosya: application\config\routes.php

Kendi URI yönlendirmelerinizi yaparken kullanabileceğiniz 2 yöntem var: Regular Expressions ve Wildcards. Bu yazıda sadece wildcard örnekleri paylaşacağım.

Wildcards

Codeigniter'da routing yapılabilen 2 wildcard türü vardır.

1) (:num) sadece sayı eşleştirmeleri için kullanılır.

2) (:any) herhangi karakter eşleştirmeleri için kullanılır.

Örnekler

"haberler" sınıfı, "sehirler" sınıfına yönlenecektir. Yani "siteniz.com/haberler" adresi girildiğinde "siteniz.com/sehirler" adresi çağrılacaktır.

$route['haberler'] = 'sehirler';

 

"haberler" sınıfının "spor" metodu, "kategori" sınıfının "takim" metoduna yönlenecektir. Yani "siteniz.com/haberler/spor" adresi girildiğinde "siteniz.com/kategori/takim" adresi çağrılacaktır.

$route['haberler/spor'] = 'kategori/takim';

 

"urunler" sınıfının ardından herhangi bir karakter girildiğinde, "katalog" sınfının "urun" metoduna yönlenecektir. Yani "siteniz.com/urunler/xyz123" adresi girildiğinde "siteniz.com/katalog/urun" adresi çağrılacaktır.

$route['urunler/(:any)'] = 'katalog/urun';

 

"urunler" sınıfının ardından sayı girildiğinde, "katalog" sınıfının "secilen_urun" metoduna parametre olarak geçecektir. Yani "siteniz.com/urunler/123" adresi girildiğinde "siteniz.com/katalog/secilen_urun/123" adresi çağrılacaktır.

$route['urunler/(:num)'] = 'katalog/secilen_urun/$1';

 

paylaş Paylaş
oylama yap Oyla

makale yorumları YORUMLAR

1 Yorum


yorum

Mert Köseoğlu

12 Ağustos 2016 12:31


Makale için çok teşekkür ederim.
Sevgilerle..