Eğer belirttiğiniz GET adı htaccessde tanımlı değilse okuyamaz.
.htaccess
RewriteEngine On
RewriteRule ^urunler-(.*)$ urunler.php?product_head=$1 [L]
.php
if((!empty($_GET['product_head'])) && (temizlikYap($_GET['product_head']))) {
//daha önce vermiştim temizlik fonsiyonunu...
try
{
$sorgu = "SELECT * FROM table_products WHERE product_head = ? LIMIT 0,1";
// ......
}
} else {
die("düriyenin güyümleri kalaylı ah kalaylı.")
}
echo '<a href="urunler-'.$product->baslik.'"> Ürüne Git </a>'
// Veritabanına kayıt yaparken mutlaka urunler tablosuna seourl yada seolink gibi bir sutunda ekle. VHARCHAR (150) yaparsın.
include "database.php";
//Database.php içinde veritabanı bilgilerinden sonrasına
header('Content-Type: text/html; charset=utf-8');
setlocale(LC_TIME, 'tr_TR', 'tr', 'turkish');
//Eğer hala Türkçe karakter sorunu varsa Tablolarını utf8_turkish_ci formatına dönüştür. Bu en garantilisi. Kırılmaz dişim ağrımaz başım hesabı.
//Bazı karakterler html kodlarıyla veritabanına kayıt olmaya gidiyorsa, o zamanda şöyle bir fonksiyon yazalım sorun tamamen ortadan kaldırılsın.
function html_turkce_karakter($dondur){
$dondur=str_replace('&CCEDİL;', 'Ç', $dondur);
$dondur=str_replace('&CCEDIL;', 'Ç', $dondur);
$dondur=str_replace('Ç', 'Ç', $dondur);
$dondur=str_replace('ç', 'ç', $dondur);
$dondur=str_replace('Ö', 'Ö', $dondur);
$dondur=str_replace('&OUML;', 'Ö', $dondur);
$dondur=str_replace('ö', 'ö', $dondur);
$dondur=str_replace('Ü', 'Ü', $dondur);
$dondur=str_replace('&UUML;', 'Ü', $dondur);
$dondur=str_replace('ü', 'ü', $dondur);
$dondur=str_replace('ş', 'ş', $dondur);
$dondur=str_replace('Ş', 'Ş', $dondur);
$dondur=str_replace('İ', 'İ', $dondur);
$dondur=str_replace('ı', 'ı', $dondur);
$dondur=str_replace('ğ', 'ğ', $dondur);
$dondur=str_replace('Ğ', 'Ğ', $dondur);
return $dondur;
}
//ben kaba saba yaptım gerisi sizin ellerinizden öper.
// Verileri post ettiğini varsayıyorum.
function SEOLink($baslik){
$metin_aranan = array("ş", "Ş", "ı", "ü", "Ü", "ö", "Ö", "ç", "Ç", "ş", "Ş", "ı", "ğ", "Ğ", "İ", "ö", "Ö", "Ç", "ç", "ü", "Ü");
$metin_yerine_gelecek = 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($metin_aranan, $metin_yerine_gelecek, $baslik);
$baslik = preg_replace("@[^a-z0-9\-_şıüğçİŞĞÜÇ]+@i", "-", $baslik);
$baslik = strtolower($baslik);
$baslik = preg_replace('/&.+?;/', '', $baslik);
$baslik = preg_replace('|-+|', '-', $baslik);
$baslik = preg_replace('/#/', '', $baslik);
$baslik = str_replace('.', '', $baslik);
$baslik = trim($baslik, '-');
return $baslik;
}
$baslik = html_turkce_karakter(temizlikYap($_POST['baslik']));
$seolink = SEOLink($baslik);
//Hatta aynısından varmı yokmu diye de kontrol etmen gerekir. O zaman şu şekilde ilerlersin. PDO olarak örnek vericem
$ara = $db->query("SELECT seolink FROM urunler WHERE seolink = '$seolink'")->fetch(PDO::FETCH_ASSOC);
$seourl = $ara["seolink"] == $seolink ? $seolink . "-" . uniqid() : $seolink;
//Eğer posttan gelen başlığın seolinki aynısından varsa sorun çıkarmasın uniqid() fonksiyonuyla benzersiz bir kimlik eklesin yani camasir-makinesi-9532679 gibi.
//Sonra insert ..... $baslik, $seourl, .....
//Veriyi yazdırıken
$seourl = $urunler["seolink"];
$baslik = $urunler["baslik"];
echo '<a href="urunler-'.$seourl.'">'.$baslik.'</a>';
//umarım bu konuyla alakalı sorunlarınıza derman olur.