İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

WP gibi SEF yapmak

ByRON

0
İyinet Üyesi
Katılım
29 Mayıs 2007
Mesajlar
1,412
Reaction score
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.
 

Virtuozzo

0
İyinet Üyesi
Katılım
27 Nisan 2008
Mesajlar
441
Reaction score
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.
 

yagmayok

1
İyinet Üyesi
Katılım
25 Ocak 2005
Mesajlar
7,131
Reaction score
89
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... !
 

Virtuozzo

0
İyinet Üyesi
Katılım
27 Nisan 2008
Mesajlar
441
Reaction score
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.
 

yagmayok

1
İyinet Üyesi
Katılım
25 Ocak 2005
Mesajlar
7,131
Reaction score
89
@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.
 

Virtuozzo

0
İyinet Üyesi
Katılım
27 Nisan 2008
Mesajlar
441
Reaction score
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.
 

yagmayok

1
İyinet Üyesi
Katılım
25 Ocak 2005
Mesajlar
7,131
Reaction score
89
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 ?
 

Virtuozzo

0
İyinet Üyesi
Katılım
27 Nisan 2008
Mesajlar
441
Reaction score
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.
 

NeFuSa

0
İyinet Üyesi
Katılım
27 Aralık 2006
Mesajlar
1,414
Reaction score
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? :)
 

yagmayok

1
İyinet Üyesi
Katılım
25 Ocak 2005
Mesajlar
7,131
Reaction score
89
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
 

yagmayok

1
İyinet Üyesi
Katılım
25 Ocak 2005
Mesajlar
7,131
Reaction score
89
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
 

NeFuSa

0
İyinet Üyesi
Katılım
27 Aralık 2006
Mesajlar
1,414
Reaction score
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
 

Virtuozzo

0
İyinet Üyesi
Katılım
27 Nisan 2008
Mesajlar
441
Reaction score
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.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst