.htaccess
RewriteEngine On
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]
index.php
Scriptin bulundugu dizindeki yolu aliyoruz(URL)...
Sonra o URL disinda kalan request degeri varsa (yani adres satirina "link-uzantisi" yazilmis ise ona gore davraniyoruz, kodları aşağıda
// URL
$main_folder = str_replace('\\','/',dirname(__FILE__) );
$document_root = str_replace('\\','/',$_SERVER['DOCUMENT_ROOT'] );
$main_folder = str_replace( $document_root, '', $main_folder);
if( $main_folder ) {
$sub = $main_folder;
$base_url = $_SERVER['REQUEST_SCHEME'].'://' . $_SERVER['SERVER_NAME'] . '/' . ltrim( $main_folder, '/' ) . '/';
} else {
$sub = null;
$base_url = $_SERVER['REQUEST_SCHEME'].'://' . $_SERVER['SERVER_NAME'] . '/';
}
$sayfa_istek = trim(str_replace( $sub,'',$_SERVER['REQUEST_URI'] ),'/') ;
// eger adres satirinda "index" yazilmamis ise, ve eger ilgili kisim bos degilse o sayfayi include
if( $sayfa_istek && $sayfa_istek != "index" ) {
// boyle bir dosya mevcut ise
if( is_file($sayfa_istek . '.php') ) {
// diger sayfa include edildi
include($sayfa_istek . '.php');
}
// dosya mevcut degil
else {
// hata mesaji dondur
echo "Aradığınız sayfa bulunamadı";
}
} else {
/// ... index sayfasi kodlar
}
?>
Simdi adres satirina diger PHP uzantili dosyanizi yazin... Eğer bu yöntem kullanılacaksa diğer sayfalarınızda, index.php sayfasında zaten include ettiginiz ust sayfalari tekrar include etmemelisiniz veya diger sayfalara bir kontrol konmali, ona gore kullanılmalı(ziyaretci direk php dosyasi ismiyle mi gelmis yoksa uzantisiz ismiyle mi gelmis) bunun icinde index.php dosyasina ya bir degisken ya da statik bir deger atanip, diger sayfalarda isset() veya defined ile kontrol edilmeli....