YASINT adlı üyeden alıntı

uzantı gizlemek nasıl oluyor? Bir örnek paylaşırsabilir misiniz? teşekkür ederim. Birde tüm url leri nasıl tek sayfaya gönderip çağıracam? Çok oldum farkındayım yardım için teşekkürler


uzantı gizlemekten kastım iletisim yazınca iletisim.php'nin, hakkinda yazınca hakkinda.php'nin çağırılması. şu şekilde;

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]


Bütün istekleri tek dosyaya göndermek derken de şu tarz birşeyden bahsettim.


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


Buradaki olay gelen bütün istekleri toplu bir şekilde sayfa.php ye gönderiyorum. Sayfa.php içerisinde ise;

@$adres = array_filter(explode('/', @$_GET['url']));

(@ işareti hataları bastırmak için, eğer url yoksa boşu boşuna hata vermesin.)

olarak aldıktan sonra;

$adres['0'] ile yazılan ilk / bölümünü alırsınız. Yani mesela;

www.site.com/deneme/makale/icerik/ozgun gibi bir url adresinde

$adres['0'] = deneme
$adres['1'] = makale
$adres['2'] = icerik
$adres['3'] = ozgun

kelimelerini alır. Buna göre sen gerekli bölümü alıp ona göre sorgu döndürerek istediğini yapabilirsin.


Son olarak;

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]


şunuda url lerin sonunda / işareti kalmaması için kullanmanı öneririm. Url sonlarındaki / işaretlerini siler. kullanacaksan en üste yapıştır.



Url leri htaccess temi yoksa php sayfasında mı yönlendirmek daha iyi olur bilemem ama sen hepsini deneyip istediğini kullanırsın.