Arkadaşlar selam,
Ufak bir yardım rica ediyorum. Htaccess hk. pek bir bilgim olmadığı için tıkandım. Sitede gösterilen linkleri htaccessle SEFliyorum. Fakat aşağıdaki kodlamayla http://www.siteadi.com/sbs-sonuclari-3338.html (dogru)'da açılan sayfa http://www.siteadi.com/sbs-sonucsdfs...lari-3338.html (yanlış) bu şekilde yazılınca da açılmaktadır. Aslında DB'de bu şekilde çağrılan bir site mevcut değil. Sadece eşleşen kayıtlar için sonuç alınmasını istiyorum. Eşleşmeyen kayıtlar için 404 boş sayfa çıkmasını istemekteyim. Yardımcı olabilir misiniz htaccess'i nasıl düzenleyebiliriz?
Teşekkürler,
Sitemde htaccess kodlaması aşağıdaki şekildedir.
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^index.html$ index.php?pg=index [L,NC]
RewriteRule ^site_ekle.html$ index.php?pg=ekle [L,NC]
RewriteRule ^onay.html$ index.php?pg=onay [L,NC]
RewriteRule ^arama.html$ index.php?pg=arama [L,NC]
RewriteRule ^kodlar.html$ index.php?pg=kodlar [L,NC]
RewriteRule ^pagerank.html$ index.php?pg=pagerank [L,NC]
RewriteRule ^arama.html$ index.php?pg=arama [L,NC]
RewriteRule ^arama-(.*)-(.*).html$ index.php?pg=arama&sf=$2&ara=$1 [L,NC]
RewriteRule ^forum.html$ index.php?pg=forum [L,NC]
RewriteRule ^iletisim.html$ index.php?pg=iletisim [L,NC]
RewriteRule ^kt_(.*).html$ index.php?pg=kategori&kt=$1 [L,NC]
RewriteRule ^kt_(.*)-sayfa(.*).html$ index.php?pg=kategori&kt=$1&sf=$2 [L,NC]
RewriteRule ^site-(.*).html$ index.php?pg=site&sid=$1 [L,NC]
RewriteRule ^(.*)-(.*).html$ index.php?pg=site&baslik=$1&sid=$2 [L,NC]
Htaccess olmayan sayfaların gösterilmemesi hk.
3
●343
- 19-03-2009, 00:29:39Bu iş sadece htaccess ile çözülmez müdür.
Koduna da müdahale edilmesi lazım.
RewriteRule ^(.*)-(.*).html$ index.php?pg=site&baslik=$1&sid=$2 [L,NC]
yukarıdaki satırda 2 get parametresi belirtilmiş. baslik ve sid.
muhtemelen kodun sadece sid parametresine göre sql dan veri çekiyor. aynı anda hem baslik hem de sid karşılaştırmıyor. bu yüzden de sen
httf://www.siteadi.com/pinokyonun-burnu-uzadiiiiii-walla???-3338.html yazsan da 3338 sid değerine sahip kaydı problemsiz getirecektir.
Dediğim gibi bu htaccess ile yapılamaz sadece. Koduna müdahale edilip 2 get parametresinin de kontrol edileceği bir sql sorgusu yapılmalı parametrelerden en az biri yanlışsa sayfa bulunamadı hatası verilmelidir.
saygılar - 19-03-2009, 10:05:20Yardımların için çok teşekkür ederim. Dediğin gibi sadece ID'ye göre veri çekilmektedir. ID değiştirildiğinde hiçbirşey yapılmasa bile diğer içeriğe girilebiliyor. 2 taraflı kontrolü sağlayacak bir sql sorgusunu nasıl düzenleyebiliriz.. Örnek bir kodlama mevcutmudur?
Teşekkürler, - 19-03-2009, 10:35:39Scriptten scripte değişir. Birden fazla yolu var.
php biliyorsanız sadece id ye bağlı içerik başlığını çekip SEF hale çevirip url den gelen başlık ile karşılaştırabilirsiniz. sonuç hata verirse 404 hata sayfasına yönlendirirsiniz.
php bilginiz yoksa bilen birinden ücretli ya da ücretsiz yardım almanız lazım.