seo url o dediğin şekilde zor olur hocam şunu bi dene :

bu .htaccess dosyam :


RewriteEngine On
RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
RewriteRule . %1/%2 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*?)$ index.php?url=$1&%{QUERY_STRING}



bu index sayfam :

$_url = get('url'); #todo:: app/helpers/url
$_url = array_filter(explode('/', $_url));
# eğer url de gelen bir sayfa yoksa ( ilk açılış için ! )
if(!isset($_url[0]))
$_url[0] = 'index';

# eğer çağırılan sayfa klasörde yok ise
if (!file_exists(controller($_url[0])))
$_url[0] = '404';
# sayfayı çağır
require_once(controller($_url[0]));



bu get fonksiyonum :



#url temizleme fonksiyonu
function filterUrl($str){
return htmlspecialchars(trim($str));
}

# get methodu ile gelen veriler almak için
function get($name){
if(isset($_GET[$name])){
if (is_array($_GET[$name])){
return array_map(function($item){
return filterUrl($item);
}, $_GET[$name]);
}
return filterUrl($_GET[$name]);
}
return false;
}



bu controller sayfalarını çağıran fonksiyonum :



# controller sayfalarını çağıralım
function controller($name){
return contdir . '/' . $name . '.php';
};



detaylı anlatımı : LİNK