Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

Kayıt Ol

Seo Link ve RewriteRule Problemi

OsmanAtabey

0
Onaylı Üye
Üye
Katılım
26 Mart 2005
Mesajlar
922
Açılan Konu
52
Tepki puanı
4
Angelo aynı

Özel mesajdan gönderiyorum server ipi dosyaların .txt halinide koyucam. birde ssh açayım mı ? :)
 

Angelo

0
Onaylı Üye
Üye
Katılım
13 Aralık 2004
Mesajlar
9,603
Açılan Konu
164
Tepki puanı
106
Konum
AZ
Aynı nedir ki, çıktı yok mu yani :)
 

OsmanAtabey

0
Onaylı Üye
Üye
Katılım
26 Mart 2005
Mesajlar
922
Açılan Konu
52
Tepki puanı
4
Yok maalesef sana ve Loi 'ye özel mesajdan ip adresinide gönderdim ve şu an dosya içinde senin kodun duruyor.

Sizlerde çalışıyormu bu kodlar sorunsuz ? Bu kod harici başka bir yerde sorun var dicem ama doğru kısmının çalışıpta yanlış kısmının çalışmaması ilginç gerçekten
 

Loi

0
Onaylı Üye
Üye
Katılım
13 Kasım 2006
Mesajlar
6,192
Açılan Konu
145
Tepki puanı
44
Konum
localhost
Hallettim, birden fazla tablo olusturmussun icerik icin şimdi detayları verecegim test ettim calisiyor.
 

OsmanAtabey

0
Onaylı Üye
Üye
Katılım
26 Mart 2005
Mesajlar
922
Açılan Konu
52
Tepki puanı
4
Şu an için veriyi karşılaştırdığım yer sadece sayfalar tablosu.
 

Loi

0
Onaylı Üye
Üye
Katılım
13 Kasım 2006
Mesajlar
6,192
Açılan Konu
145
Tepki puanı
44
Konum
localhost
Farketmez sonuc olarak çözdük ben dolu hangi tablo var diye baktım ve yazilar tablosunda calistim

yazi_seo sutununu kontrol ettirerek basarili aldigim cikti asagidaki gibi
Nerdeyim : /home/xxxxx/public_html/content/index.php
S Dosya : content
S Trim 2 : rrrrrrrrrrr-zxdfsadf
S Trim 3 :
Bu 2 kategorisine uyan bir sayfadir

Başlık: rrrrrrrrrrr zxdfsadf 555 675671111
İçerik: rrrrrrrrrrrr 4353451111111

Data yoksa asagidakini veriyor
Nerdeyim : /home/xxxx/public_html/content/index.php
S Dosya : content
S Trim 2 : rrrrrrrrrrr-zxdfs
S Trim 3 :
Sistemde boyle bir sayfa yok

Nasıl yaptım?
PHP:
$sorgu = mysql_query("SELECT * from yazilar WHERE yazi_seo='$p1' limit 1");
$veri=mysql_fetch_array($sorgu);
if ($veri[yazi_seo]) {
	if ($veri[y_type] == "2") { echo "Bu 2 kategorisine uyan bir sayfadir<br><br><b>Başlık</b>: $veri[yazi_baslik]<br><b>İçerik</b>: $veri[yazi_icerik]"; }
	if ($veri[y_type] == "1") { echo "Bu 1 kategorisine uyan bir sayfadir<br><br><b>Başlık</b>: $veri[yazi_baslik]<br><b>İçerik</b>: $veri[yazi_icerik]"; }
}
	else { echo "Sistemde boyle bir sayfa yok"; }

ufak bir detay var oda benim root altında content adlı bir alt dizinde bu scripti calistirmis olmam bu nedenle senin URL2 olarak explode edilmis degeri kullandım o yuzden SQL sorgusunda $p1 bulunmakta. Umarım bu kafanı karıştırmaz.
 

OsmanAtabey

0
Onaylı Üye
Üye
Katılım
26 Mart 2005
Mesajlar
922
Açılan Konu
52
Tepki puanı
4
Bu sorun sadece while yüzünden kaynaklanıyormuş :) eski kod içinde while yi çıkardım sorunsuz çalışıyor. Çok teşekkürler Loi bu kadar uğraştığın için

Ayrıca Angelo 'ya da teşekkürler o olmasa explode siz diğer yöntemle boğuşuyor olacaktım.

Sıra geldi en son problemin çözümüne oda domain/kategori altında ilgili yazıları listelemeye :)
 

Loi

0
Onaylı Üye
Üye
Katılım
13 Kasım 2006
Mesajlar
6,192
Açılan Konu
145
Tepki puanı
44
Konum
localhost
dedik ya ona gerek yok diye :)
 

OsmanAtabey

0
Onaylı Üye
Üye
Katılım
26 Mart 2005
Mesajlar
922
Açılan Konu
52
Tepki puanı
4
Kategoriye ait verilerin listelenmesi işide çözülmüştür. Girilen linkin kategori olduğunu doğruladıktan sonra ilgili kategoriye ait tablodan sorgu yapılarak veriler alınır ve ekrana bastırılır. Bu gibi bir işle uğraşacaklar için bilgilendirme notu olarak kalsın burda.
 

OsmanAtabey

0
Onaylı Üye
Üye
Katılım
26 Mart 2005
Mesajlar
922
Açılan Konu
52
Tepki puanı
4
Tam herşey bitti derken çıktı yine bir problem. :)

domain/kategori ve domain/kategori/ şeklinde yapılan girişler ayrı algılanıyor bu explode işinde. Bunu bir yerde nasıl toplayabilirim veya birisini nasıl pasif duruma getirebilirim ?
 

Angelo

0
Onaylı Üye
Üye
Katılım
13 Aralık 2004
Mesajlar
9,603
Açılan Konu
164
Tepki puanı
106
Konum
AZ
PHP:
$x = $_SERVER['REQUEST_URI'];
if (substr($x,-1) == '/') { 
/* son karakter / ise */
$x = substr($x,0,strlen($x) - 1);
}
 

Invictus

0
Onaylı Üye
Üye
Katılım
4 Şubat 2010
Mesajlar
328
Açılan Konu
5
Tepki puanı
8
Konum
istanbul
PHP:
$x = rtrim($x,'/');

de kullanılabilir
 

OsmanAtabey

0
Onaylı Üye
Üye
Katılım
26 Mart 2005
Mesajlar
922
Açılan Konu
52
Tepki puanı
4
Angelo hızırmısın nesin :) sağolasın domain/kategori/ olani anasayfaya yönlendirdim. domain/kategori seklinde olanlar çalışıyor.
 

OsmanAtabey

0
Onaylı Üye
Üye
Katılım
26 Mart 2005
Mesajlar
922
Açılan Konu
52
Tepki puanı
4
İşte bir problem daha :)

Normal bir veri çekme işlemi için sayfalama kodum var fakat kodu bu uygulamaya nasıl entegre edeceğimi bilemiyorum.

Sayfa sayısını ve alt limiti belirledikten sonra bölme işlemi sonucu çıkan sayıyı veritabanı sorgusuna limit şeklinde ekledim ve gelen veriyi sayfalara ayırdım.

Şimdi bundan sonra nasıl birşey yapmalıyım ki normal linke ?sayfa=2 şeklinde eklediğimde bu sayfayı bulup kalan verilerle eşleştirsin.

Örnek Link : domain/kategori/denemeler?sayfa=2 burada kategori ve denemeler veritabanında eklenmiş olduğu için tanımlanıyor.
 

Angelo

0
Onaylı Üye
Üye
Katılım
13 Aralık 2004
Mesajlar
9,603
Açılan Konu
164
Tepki puanı
106
Konum
AZ
Zaten route üzerinde belirlemeye çalıştığın komuttaki ilk işlem soru işareti varsa, soru işareti ve ondan sonraki harfleri ignore etmek olacak. ? a göre bölüp, sıfır numaralı elemanı almak yani basitçe.

Sonra zaten aynen $_GET['sayfa'] olarak kullanılabilir. ( örnekte değer 2 mesela )
 

OsmanAtabey

0
Onaylı Üye
Üye
Katılım
26 Mart 2005
Mesajlar
922
Açılan Konu
52
Tepki puanı
4
Angelo öyle rahat anlatıyorsunki bildiğin için :) Benim mantık yine kulağı tersten gösteriyor belli ki.

? işaretinden sonraki veriyi almada bir problem yok fakat kalan veriyi nasıl ekrana yazdırıcam onu anlayamadım. Normal bir kod içerisinde problemsiz yapmıştım bu sayfalamayı ama bu tek dosyadan olan işte çakılıp kaldım.
 

Angelo

0
Onaylı Üye
Üye
Katılım
13 Aralık 2004
Mesajlar
9,603
Açılan Konu
164
Tepki puanı
106
Konum
AZ
zimbabweli-gencler.html

Herhangi bir şekilde category.php ye yönlendiriliyor olsun. Şu aşamada nasıl yaptığını bilmiyoruz onu çünkü başta, if else demiştik sonra sanırım database filan kurdun. Neyse category.php ye sorunsuz yönleniyorsa problem yok. Slash filan olması birşeyi değiştirmeyecektir bu aşamada. Onları zaten entegre ettiğini varsayıyoruz, sorunun soru işaretiyle.

Şimdi yönlendirme dosyasında, en tepede, herşeye başlamadan önce ? işaretine göre bölüp bir zımbırtı varsa halletmen icap ediyor.

PHP:
/* $x değişkeni request url sine atanmış olsun daha önceki işlemlerde 
onu temizle soru işaretlerinden */
$x = explode('?',$x);
$x = $x[0];

/* bundan sonra yonlendirmeni yap gene nasıl yapıyorsan */

Şimdi soru işaretini temizlediğine göre aşağıdaki sayfaların hepsi gene category.php ye yönlenecektir. Soru işaretine ne eklersen ekle farketmez.

zimbabweli-gencler.html
zimbabweli-gencler.html?sayfa=533
zimbabweli-gencler.html?durum=su+yok+ya+burda
zimbabweli-gencler.html?saat=12

Hal böyle iken category.php'nde verileri zaten nasıl çekiyorsan, gelen GET verisine göre istediğini gene yapabilirsin.Veritabanından veri çekiyorsun heralde

PHP:
$sayfa_basi_adet = 12;
$offset = ($_GET['sayfa'] - 1) * $sayfa_basi_adet

$q = mysql_query("SELECT isim, soyisim FROM muhtarlik
ORDER BY id DESC LIMIT $offset,$sayfa_bas_adet");

mesela...

URL ne olursa olsun, nereye yönlenirse yönlensin, yönlendiği yerde _GET üzerinden ulaşabilirsin.

/yemek/italyan_mutfagi/alfredo.html -> yemek.php?id=1&cat=2 ye yönlense
/yemek/italyan_mutfagi/alfredo.html?sayfa=2 -> yine yemek.php?id=1&cat=2 adresine yönlenecek, ve $_GET['sayfa'] 2 değeri verecektir.
 

OsmanAtabey

0
Onaylı Üye
Üye
Katılım
26 Mart 2005
Mesajlar
922
Açılan Konu
52
Tepki puanı
4
Bunların tamamını yaptığımı söylemiştim. Herneyse ben bununla iyice uğraşmadan anlayamıcam o kesin. Zaten genelde mantık hatası yapıyorum bu tür şeylerde. Belki de yapıyorum ama birşey atlıyorum. Sağolasın Angelo
 

Angelo

0
Onaylı Üye
Üye
Katılım
13 Aralık 2004
Mesajlar
9,603
Açılan Konu
164
Tepki puanı
106
Konum
AZ
Sorunu anlamadım ben o zaman
 

OsmanAtabey

0
Onaylı Üye
Üye
Katılım
26 Mart 2005
Mesajlar
922
Açılan Konu
52
Tepki puanı
4
Sorun bende sanıyorum. Biraz daha uğraşayım şununla.
 
Üst