üstad sizin tema mantığında yapmak için ilk önce switch-case yapısını iptal etmek gerekir, onun yerine örneğin
abc.com/index.php?islem=kategori&id=kategori_adi
diye ayarladığınız adres yapısını basitçe
index.php?icerik=demo-kategori
şeklinde değiştirmek lazım.
Sonrasında adresten okunan, get ile alınan icerik parametresinin değerini yeni açtığınız tablodan aratın
Tablo adınız: adresler
Yapısı:
id : int ( 11 )
icerik_adres : varchar ( 50 )
icerik_id : int ( 11 )
icerik_tablosu : varchar ( 50 )
icerik_turu : varchar ( 50 )
id: adresler tablosuna eklenen içeriğin benzersiz idsi
icerik_adres: url kısmında icerik parametresi ile kontrol ettiğin, aynı zamanda sayfada görüntülemek istediğin içeriğin slug etiketi (url biçmindeki adresi)
icerik_tablosu: görüntülenmek istenen içerik hangi tabloda (haberler, sayfalar vs.)
icerik_turu: görüntülenmek istenen içerik hangi dosyada çalışacak örnek: haber.php, sayfa.php vs..
icerik_id: içeriğin kendi tablosundaki idsi, mesela haberler tablosundaki 15 idli içerik için 15 değeri..
ilk olarak get ile alınan icerik parametresinin değeri veritabanında icerik_adres sütununda bulup o içerik için diğer sütunlardaki verileri değişkenlere atamak lazım. bunları değişkenlere aldıktan sonra index.php sayfazında (ya da switch - case kullandığın sayfa hangisi ise) require_once ile icerik_turu sütunundan gelen dosyayı çağıracaksınız sadece... htaccess yapısında da adres yapısını buna göre sadeleştirmek yeterlidir.
kodları yazmak istedim ama sql sorgusu yapıyorsun diyerek cloudflare kod yazmamı engelledi

--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 20:52:40 -->-> Daha önceki mesaj 20:42:20 --
<?php
if($_GET['icerik'] == NULL){$icerik_al = "anasayfa";}
else{$icerik_al = $_GET['icerik'];}
$sorgula = mysql_query('SELECT * FROM adresler WHERE icerik_adres = $icerik_al');
while($oku = mysql_fetch_assoc($sorgula)) {
$icerik_turu = $sorgula['icerik_turu']; // Bununla bu içeriğin hangi türden olduğunu kontrol ettik
// $icerik_turu = $sorgula['icerik_turu']; // Lazım olursa diye bununla da bu içeriğin hangi tabloda kayıtlı olduğunu kontrol ettik
require_once($icerik_turu); // Bununla da çalıştırılacak dosyayı (örn: haber.php, kategori.php, sayfa.php vs) çağırdık, gerisi çalıştıdrığımız dosyaya kalmış :)
}
?>