Php Sef ve perma link yapımı
20
●2.046
- 01-10-2010, 00:15:25Arkadaslar yerı burasımı bilmiyorum ama benim acilen sef yapımı hakkında bir bilgiye ihtiyacım var.İnternette işe yarar bişiler buldum.Ama bir turlu beceremedim.yapmak istedigim sey index.php?cat=2 gibi bi linki www.site.com/kategori/2 gibi bişi yapmak o konuda yardımcı olursanız sevinirim.Ve bide malum id'yi sorgularken is_numeric fonksiyonunu kullandım.Bu sef yapımında sorun cıkartırmı?Cunku GET ile ile id'yi alıp is_numericle kontrol ettiriyorum.Ama linklerde id olmadıgı için sorun cıkartırmı?Şimdiden tesekurler
- 01-10-2010, 00:28:16Eposta Aktivasyonu Gerekmektebu scripti güzel bir şekilde incelersen cok faydasını görürsün
http://www.seoteknikleri.com/wp-cont...ads/phpseo.zip - 01-10-2010, 15:39:45Çözemediğiniz kısım tam olarak neresi ?
Öncelikle sitenizin barındığı sunucuda mod_rewrite desteğinin olması gerek...
1 - Örnek kategori bağlantısını şu şekilde vermelisiniz... www.site.com/kategori/2
Peki sistem bunu nasıl, ne yöntemle anlayacak ? Şöyle ;
Örnek bir htaccess
Options +FollowSymlinks RewriteEngine on RewriteRule ^kategori/(.*)$ index.php?islem=kategori&id=$1 [NC,L]
Burada özetlersek şöyle birşey deniliyor ;
"arkadaşım... eğer sana kategori/* şekline benzer bir istek gelirse sen git bunu index.php?islem=kategori&id=$1 şeklinde işle "
Burada (.*) bölümü "herhangi birşey" demek... Bu 3 rakamı olur "syshsga" olur... $1 ise birinci sıradaki "herhangi birşey" i ifade eder... Mesela şöyle olsaydı ;
RewriteRule ^kategori/(.*)/(.*)$ index.php?islem=kategori&id=$1&sayfaid=$2 [NC,L]
$2 ise soldan ikinci (.*) bölümüne denk gelirdi...
Siz yine index.php yi kodlarken bağlantıları ?islem=kategori&id=... şeklinde gelecekmiş gibi kodlayın.
Sadece kullanıcının göreceği bağlantıları www.site.com/kategori/3 gibi verin...
Eğer php de yeniyseniz dediklerim size yabancı gelebilir... - 01-10-2010, 16:08:38Hemen bunuda deniyim cok saolun ins yapabilirim bu sefer cunku artık sınırmı bozmaya basladı bu iş her yontemi denedim.linkleri normal sef'li halde geliyor ama ya sqlde sorun var yada o is_numeric fonksiyonu yuzunden id'li yi gecirdigim sql calısmıyor.peki ben şimdi get'le urlden id'yi aldırıyorum.is_numeric fonksiyonu ile kontorl ettiriyorum.Yeni vercegim linklerde id gecmedigi için orda herhangi bir sorun cıkarmı ? cunku denemedigim sey kalmadı.Ve o fonksiyon yuzunden olmamasından supheleniyorum.
- 01-10-2010, 16:19:06www.site.com/kategori/dsgksjkgj
gibi bir istek gelirse bu şu demek olur zaten ;
index.php?islem=kategori&id=dsgksjkgj
dsgksjkgj gibi birşey de numeric olmadığından ya hata alırsınız ya da boş sayfa... Fonksiyondan dönen değeri denemelik bir print ile test ediniz... - 01-10-2010, 16:25:49ben bu işin içinden bir turlu cıkamıycam sanırım.Ben size su kodları yazsam yardımcı olurmusunuz.Cunku htaccess bilgim hiç yok o kadar deneme yaptım ama bir turlu haberler kategoriye gore listelenmedi gitti.
burasi menu kategori menu linkleri
$sql=mysql_query("select * from haberkat where yayin=1"); $linksay=mysql_num_rows($sql); $width=(int)(585/($linksay+1)); echo '<td width="'.$width.'"> <center><a href="index.php?id='.$habkat->habkatid.'">'.$habkat->habkatisim.'</a></center></td>'; }ve id gore kategorideki haberleri listeleyen sql cumlesi
if(is_numeric($id)){ $sql=mysql_query('select * from haber inner join hresim on haber.habres=hresim.hresimid where habkatid='.$id.' order by haberid DESC limit '.$son.','.$limit); }else { $sql=mysql_query('select * from haber inner join hresim on haber.habres=hresim.hresimid order by haberid DESC limit '.$son.','.$limit); } - 01-10-2010, 16:30:57Dediğim bir noktayı atlamışsınız... <a href kısmına şöyle yazın ;
http://www.site.com/kategori/'.$habkat->habkatid.'
listeleme kodunda $id değişkenine get ten gelen id yi ( $_GET['id'] ) devrediyor musunuz ?
En önemlisi ; yukarıda verdiğim htaccess kısmını kendinize uyarlayıp htaccess dosyanıza yazdınız mı ? - 01-10-2010, 16:43:40evet id yi getliyorum sonra is_numericle kontorl ettirip eger numric degilse haberlerın hepsını listele degilse sadece id ye gore liste yaptırıyorum
htaccess dosyasındaki bu
Options +FollowSymlinks RewriteEngine on RewriteRule ^kategori/(.*)$ index.php?id=$1 [NC,L]
suan localde calıstıgım içinde linki boyle verdim
<a href="/kategori/'.$habkat->habkatid.'">'.$habkat->habkatisim.'</a></center></td>';
boyle yapınca yine tum haberleri listeliyor ve bu seferde cssde sorun cıkıyor.