CRR - Custom Rewrite Rule Nedir ?
Custom Rewrite Rules vBSEO kontrol panelinizde (vbseocp.php) adresinden ayarlıyabileceğiniz ve stabil vBulletin urlleri haricindeki urlleri mod_rewrite kullanarak istediğiniz formata çevirmenize yardımcı olan bir modüldür.
Örnek vermek gerekirse
Kod:
'article\.php\?id=(\d+)'=>'makale-$1.html'
kodunu kullandığınızda siteniz.com şeklinde gözükmesi gereken url siteniz.com formatına dönüşebilir. Bu şekilde sitenizin tüm urllerini static hale getirebilirsiniz.
Kod:
'external\.php\?type=rss2' => 'rssfeed.rss'
örneğinde olduğu gibi vBulletin'in standart rss yayınını siteniz.com formatına çevirebilirsiniz.
CRR'ın en büyük avantajıda düzenleme olayının tamamen kullanıcının kendi seçeneğine ait olması.
Nasıl Custom Rewrite Rule Oluşturulur
CRR iki bölüm içermektedir. Bu iki bölüm rewrite motoru tarafında anımsanarak urllerin yeniden yazılmasını sağlamaktadır. CRR'lar iki kısım içermektedir ve iki kısım arasında => ayrıcı bulunmaktadır.
Birkaç örnek daha
Kod:
'^scriptismi.php?id=(\d+)$' => 'statikisim-$1.html'
Dikkat etmeniz gereken noktalardan birincisi tek tırnak ' kullanarak her bölümü ayırmaktır.
Sol tarafta bulunan kullandığınız modifikasyonun url si sağ tarafta bulunan hali ise url'nin değişmesini istediğiniz yöntemidir.
Nokta Karakteri
nokta herhangi bir karakter olarak kullanılır ancak kesinlikle karakter , rakkam ve sembol yerine kullanılamaz.
Ters Slash \
Ters slash bir sonraki karakterin modifiye edilmesinin önüne geçmek için kullanılır. Yani nokta öncesi ters slash kullanırsanız o zaman nokta karakteri sabit olarak kalacaktır.
Ters slash d (\d) veya w (\w) gibi karakterler öncesinde kullanılırsa özel bir anlam verir. Detaylar için okumaya devam ediniz.
\d Karakteri
Karakteri 0 dan 9 a kadar olan rakkamlar ile değişmek üzere kullanılır.
\w Karakteri
Karakteri 0 dan 9 a kadar olan rakkamlar veya a dan z ye kadar olan harfler veya alt çizgi _ yerine kullanılabilir.
+ Sembolu
+ sembolünü kullanarak \d \w gibi karakterlerin en az birinin mutlaka yer almasını sağlar. Bir kerede olsa mutlaka değerinin geçmesi gerekmektedir.
* Sembolü
+ sembolunun yanısıra * sembolü birden fazla kullanım imkanı sağlamaktadır. Herhangi bir değeri olmasada url'nin bozuk çıkmasının önüne geçer.
^ Sembolü
Url'lerin solunda başlangıç olarak kullanılır. Bu işaret kullanıldığında forumun mutlaka ana klasöründe olunması gerekir. Yani ^ kullanılırsa http://www.domain.com/forum/scriptname.php?id=999 adresi modifiye olurken http://www.domain.com/forum/subdirec...ame.php?id=999 adresi modifiye edilmez.
$ Karakteri
$ işareti kullanıldığında urlnin ekstra data içermesinin önüne geçersiniz.
Bunu örneklemek gerekirse
http://www.domain.com/forum/scriptname.php?id=999 Modifiye Edilebilir
http://www.domain.com/forum/scriptna...99 &key=value Modifiye edilemez.
$ işareti urlnin id=999 ile bitmesini sağlar ve $key=value bilgisi sonradan eklendiği için url'nin yeniden yazılmasının önüne geçer. Bunu aşmak için aşağıda vereceğim örneği kullanmanız gerekecektir.
$ işareti ve gerideki bilgiyi kaldırabilirsiniz veya
Şeklinde kullanabilirsiniz.
Önemli not : &key=(\w+) ekstra bilgiyi eklemek için kullanılmıştır. Ancak gördüğünüz gibi yaratılan url adresinde bir değişiklik yoktur.
Parantez Karakterleri
Parantezler CRR içerisinde sol kısımda kullanılabilir. Parantezler kullanacağınız dataların etrafına konulur ve dataların karışmasının önüne geçer. $1 $2 gibi birden çok değer kullanıcağınız zamanlarda her değerin sırayla yer almasını sağlarlar.
$n Karakteri
$1 , $2 , $3 gibi karakterler CRR'ların sağ tarafında yer alır. (\d+) gibi sol tarafta yer alan bilgilerin sırasıyla yerini sağ tarafta alırlar.
Kod:
'^scriptismi.php?id=(\d+)$' => 'statikisim-$1.html'
örneğinde görebileceğiniz gibi sol tarafta yer alan (\d+) sağ tarafta $1 olarak değişmiştir.
CRR Yorum Kullanma
CRR modulünüzün içerisine eklediğiniz bilgiler geliştikçe birbirlerinden ayırmanın zorluk yaratacak olmasından dolayı // çift slash kullanmak suretiyle istediğiniz yorumları CRR modulüne ekleyebilirsiniz
Kod:
// Galeri CRR lari buradan basliyor
şeklinde kullanarak tüm CRR'ları birbirinden ayırabilirsiniz.
Önemli Not : Hatalı kullandığınız CRR'lar otomatik olarak vBSEO tarafından başına çift slash eklemek suretiyle deaktif edilecektir.