WP gibi SEF yapmak

0
Onaylı Üye
Üye
Katılım
26 Aralık 2006
Mesajlar
1,414
Tepki puanı
15
Konum
İstanbul
0
Onaylı Üye
Üye
Katılım
26 Aralık 2006
Mesajlar
1,414
Tepki puanı
15
Konum
İstanbul
Mümkün değil sanırım kimse yazmadığına göre :)
 
0
Onaylı Üye
Üye
Katılım
28 Mayıs 2007
Mesajlar
1,412
Tepki puanı
2
Konum
"Türkiye"
wp-adminden ==> ayarlar ==> Kalıcı bağlantılar, özel yapıdan yapabilirsin yanlız .htaccess dosyasının yazılıma açık olması lazım ;) tabi insallah bahsettiğin şeyi söylüyorumdur.
 
0
Onaylı Üye
Üye
Katılım
26 Nisan 2008
Mesajlar
441
Tepki puanı
4
Konum
Istanbul
ID kullanmadan SEF yapmak mümkündür.

Bunun için dikkat etmeniz gerekenler:
1. id yerine veritabanından kayıtları sorgulatacağınız bir alan belirleyip (sef_baslik diyelim) bunu UNIQUE olarak atamak.
2. Yazı başlıklarınızı veritabanına kaydederken sef_baslik alanına da başlıkları boşluk ve Türkçe karakterlerden arındırarak kaydetmek.
3. Veri çekerken yapacağınız sorgulamalarınızı id yerine bu sef_baslik alanı ile yapmak.
4. Veri çekme sorgunuza uygun olarak .htaccess dosyanızı düzenlemek.

Şurada ve şurada yukarıdaki işlemin sonuçları görüp inceleyebilirsiniz.

Yukarıdaki işlemleri yaptıktan sonra dikkat etmeniz gereken birkaç nokta daha var, onlara da sırası geldikçe değiniriz.
 
1
Onaylı Üye
Üye
Katılım
24 Ocak 2005
Mesajlar
7,131
Tepki puanı
86
Virtuozzo'ya ek olarak:

Veri tabanına giriş yaparken "sef_baslik" alanına ekleyeceğiniz ismin daha önce eklenip eklenmediği kontrol edilip, aynısı varsa sonuna bir değer atayarak bu sorunu hallediniz. Aksi takdirde aynı id'e ait 2 veya daha fazla sonuç çıkabilir... !
 
0
Onaylı Üye
Üye
Katılım
26 Nisan 2008
Mesajlar
441
Tepki puanı
4
Konum
Istanbul
sef_baslik alanının UNIQUE olmasının nedeni zaten aynı kaydın ikinci defa eklenmesine izin vermemesi içindir.
Eğer aynı kayıt varsa kayıt ekleme formu hata verecektir.
Bu sorunu önlemek için de kayıt ekleme sırasında elde edilen sef_baslik değeri veritabanındaki kayıtlarla karşılaştırılır, eğer aynısı varsa elde edilen değerin sonuna 2, 3 gibi rakamlar eklenebilir.
 
1
Onaylı Üye
Üye
Katılım
24 Ocak 2005
Mesajlar
7,131
Tepki puanı
86
@Virtuozzo O noktayı unutmuşum... :D

Bu bağlamda bir size bir soru sormak istiyorum. Galiba bu konularda bilgilisiniz. UNIQUE değilde TEXT vs... olarak atamamız bir farklılık gösterir mi ? Mesela performans açısından.
 
0
Onaylı Üye
Üye
Katılım
26 Nisan 2008
Mesajlar
441
Tepki puanı
4
Konum
Istanbul
UNIQUE bir veri türü değildir, sadece o alandaki kaydın benzersiz olduğunu ifade eder.
Yani UNIQUE olarak işaretlediğiniz bir alana gireceğiniz verinin aynısı aynı tablo içerisindeki diğer kayıtların hiçbirinde kabul edilmez.
 
1
Onaylı Üye
Üye
Katılım
24 Ocak 2005
Mesajlar
7,131
Tepki puanı
86
UNIQUE bir veri türü değildir, sadece o alandaki kaydın benzersiz olduğunu ifade eder.
Yani UNIQUE olarak işaretlediğiniz bir alana gireceğiniz verinin aynısı aynı tablo içerisindeki diğer kayıtların hiçbirinde kabul edilmez.

Bu yazınızdan, bu özellik dışında bir farklılık olmayacağı anlaşılabilir mi ?
 
0
Onaylı Üye
Üye
Katılım
26 Nisan 2008
Mesajlar
441
Tepki puanı
4
Konum
Istanbul
TEXT alanını neden UNIQUE yapmak istiyorsunuz?
Şimdiye kadar TEXT alanının UNIQUE olmasını gerektirecek bir durumla karşılaşmadım.
Bu tür bir duruma gerek olmadığını da düşünüyorum.
Kaldı ki TEXT alanını UNIQUE yapmak (eğer yapılabiliyor ise ki sanmıyorum) performans açısından hiç de iyi sonuçlar doğurmayacaktır.
İlla bir metin alanını UNIQUE yapacaksanız VARCHAR kullanabilirsiniz.
 
0
Onaylı Üye
Üye
Katılım
26 Aralık 2006
Mesajlar
1,414
Tepki puanı
15
Konum
İstanbul
teşekkür ederim

ByRON; ne adamsın sen ya :D

yagmayok; ek bilgi için gerçekten teşekkür ederim.

Virtuozzo; Çok teşekkürler, açıklayıcı ve tatmin edici bir cevaptı. Anlatmak istediklerini anladım. O diğer detaylara gelince ne demek istediğini anladım. Browser dizin şekilde yazdırmayı klasör olarak göreceğinden resim ve link adreslerini tümüyle yazmam gerekiyor dimi? :)
 
1
Onaylı Üye
Üye
Katılım
24 Ocak 2005
Mesajlar
7,131
Tepki puanı
86
resim ve link adreslerini tümüyle yazmam gerekiyor dimi? :)

Bende bu yöntemi kullandığım için bunlara şu şekilde bir çözüm ürettim. Her sayfaya include ettiğim dosya içine

$site = "http://www.site.com";

Şeklinde yerleştiriyorum. İmage ve linklerde de bunu kullanıyorum. Böylece ilerde bir gün site değiştirdiğimde vs... tek tek adresleri değiştirmeye gerek kalmıyor.

Aklına yattıysa telif hakkı vermeden kullanabilirsin. :p
 
0
Onaylı Üye
Üye
Katılım
26 Aralık 2006
Mesajlar
1,414
Tepki puanı
15
Konum
İstanbul
Linklerin başına "../" eklesende aynı şey değil mi?
 
1
Onaylı Üye
Üye
Katılım
24 Ocak 2005
Mesajlar
7,131
Tepki puanı
86
Linklerin başına "../" eklesende aynı şey değil mi?

Evet, doğru biliyorsun...

1. Bir önceki mesajımda dediğim site değiştirme olayında scripti farklı bir ayar (SEF) ile kullanma isteğinide eklemek gerekli. Bu durumda "../" ayarlarınıda değiştirmeye gerek kalmaz.

2. Birde sayfanı nasıl kodladığında önemli. mesela her sayfaya include ettiğin bir üst.inc.php , sol.inc, alt.inc dosyaları olduğunu varsayalım. O zaman bu dediğin yöntemi kullanırsan index'de işe yararken, oku.php veya kategori.php dosyasında "../" kaynaklı hatalar olabilir.

Bu kısmı analatabildim mi acaba ? :D
 
0
Onaylı Üye
Üye
Katılım
26 Aralık 2006
Mesajlar
1,414
Tepki puanı
15
Konum
İstanbul
Evet, doğru biliyorsun...

1. Bir önceki mesajımda dediğim site değiştirme olayında scripti farklı bir ayar (SEF) ile kullanma isteğinide eklemek gerekli. Bu durumda "../" ayarlarınıda değiştirmeye gerek kalmaz.

2. Birde sayfanı nasıl kodladığında önemli. mesela her sayfaya include ettiğin bir üst.inc.php , sol.inc, alt.inc dosyaları olduğunu varsayalım. O zaman bu dediğin yöntemi kullanırsan index'de işe yararken, oku.php veya kategori.php dosyasında "../" kaynaklı hatalar olabilir.

Bu kısmı analatabildim mi acaba ? :D

Anladım, başıma gelmişti daha önce.
Sonra listeleme fonksiyonunu her sayfaya tek tek koymak zorunda kalmıştım. :D
 
0
Onaylı Üye
Üye
Katılım
26 Nisan 2008
Mesajlar
441
Tepki puanı
4
Konum
Istanbul
Ek bir bilgi daha vermek gerekirse;
Eğer birden çok tablodan id kullanmadan veri çekecekseniz aynı yapıda SEF kullanmamalısınız.
Aksi taktirde .htaccess dosyanızda belirtilen koşullardan ilkine göre işlem yapılır ve istediğiniz sonuca ulaşamayabilirsiniz.
O yüzden kategori ve yazı tablolarımızın olduğunu düşünürsek, kategorileri dizin şeklinde gösterirken yazılarınızı .html uzantılı yapabilirsiniz. Veya yazılarınıza sabit bir parametre ekleyebilirsiniz.
Birkaç tablo için pek bir sorun teşkil etmeyecekmiş gibi görünen bu durum çok tablolu SEF uygulamalarında sorun çıkartıp çözümü bulana kadar hayli sıkıntıya neden olabilir.
 
Geri
Üst