vBSEO paketi ile dahili gelen CRR - Custom Rewrite Rules kullanımı hakkında biraz bilgi vereyim.

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.