o yakışıklı benım ve bu olayı çözdum şimdi sebeplenmek isteyen arkadaşlarım olabileceğinden buraya ekliyorum
öncelikle şunu yapıyoruz .htaccess dosyamıza şu satırları ekliyoruz en alta
RewriteEngine On
RewriteRule ^(.*)-(.*).html$ makaleoku.php?id=$1&baslik [L,NC]
burda .* işaretleri makaleokudan sonraki değişkenlerin sıralamasını alıyor.
kendinize göre sıralayın diyecem ama hata veriyor çoğu zaman neyse
^ bu işaret ile .* arasına istediğiniz bir kelime koyabilirsiniz sitenizi tanımı da olabilir fark etmez.
bu olaydaki mantık linklerimizi maskelemek önemli olan şey id numramızın bu cumle içinde olması gerisi hava cıva
ikinci yapacağımız olay şudur :
linkimizi belirlemek
makaleoku.php?id=123 şeklindeki link vermiş olduğumuz php sayfamızda linkleri değiştirmemiz gerekiyor
ben konun en başında örnek linkimi vermiştim şöyle
makaleoku.php?id=20 bunu biz .htaccess teki değiştirme ile şu hale getirdik
20-video.html haline getirdik.
linkimizi şu şekilde verebiliriz tabi size göre hangisi uygunsa üretebilirsiniz.
a href=$id-$baslik.html
neyse bu olayda bitti ve bir de baktıkki arada boşluk olan linklerimizde kırılma olmuş bu kırılma ile 404 hatası veriyor sayfa gıcık oldu hemen;
üçüncü önemli noktadan bahsedecez bunuda uyguladığımızda hiç bir problemimiz kalmıyacak.
oda permalink tir.
bir örnek permalink verelim hemen
function perma($baslik) {
$turkce=array("ş","Ş","ı","(",")","'","ü","Ü","ö","Ö","ç","Ç"," ","/","*","?","ş","Ş","ı","ğ","Ğ","I","ö","Ö","Ç","ç","ü","Ü");
$duzgun=array("s","S","i","","","","u","U","o","O","c","C","-","-","-","","s","S","i","g","G","I","o","O","C","c","u","U");
$baslik=str_replace($turkce,$duzgun,$baslik);
$baslik = preg_replace("@[^A-Za-z0-9\-_]+@i","",$baslik);
return $baslik;
}bu fonksiyonumuz mysqlden çekmiş olduğumuz id numarasına bağlı başlıkların boşluklarına ve turkçe karakterlerine çözum bulan bir fonksiyondur.
bunu nereye yerleştirecez php kodumuzun en ustune ekleycez yani <?php den hemen sonra. fonksiyona hiç karışmayın yapacağınız ikinci olay ise sorgudan sonra ise $ybaslik = perma($baslik); şeklinde bir değişken belirleyip fonksiyona atmış olduğu başlığı temizleyen bir kod. bu kodu linkimizdeki urlde kullanıyoruz. hepsi bu
Not :1- Dreamweaverle veya diğer editörlerle permalink fonksiyonu sayfaya eklendiğinde harfler değişiyor. hata verir dikkatli olun notpad le açın. yoksa linklerinizdeki bazı turkşe karakterler silinir sonra neden karşılığı çıkmıyor demeyin.
2- iki farlı sayfaya perma uygulayacak isek fonksiyondan sonraki perma kelimeleri aynı olmasın hata veriyor
hepsi bukadar bu pazar gunu sabahtandır scriptime seo yapmaya çalıştım ve başardım makale tamamen bana aittir r10a saygılar.