$_SERVER ile sayfa url'si çekildiğinde gerçek url'nin değil görünen url'nin gösterilmesi gerek diye biliyorum. Bu sayfalara ?q=key gibi adresleri kullanarak erişimi engellemek istiyorsanız, sayfanın url'sini alıp içinde örneğin ".php" geçiyor mu diye kontrol ettirin, varsa break; dersiniz ya da header ile yönlendirirsiniz. Google indexleri için de arkaşın verdiği kodu kullanabilirsiniz.
Yanlış anlamış olabilirim.
.htaccess ile gerçek url engelleme
13
●5.462
- 24-08-2010, 05:06:22hocam $_SERVER değişkenleri QUERY STRING için gerçek, REUQEST URI için windows xammp altında seo urlleri URL leri veriyor.
bende dediğiniz gibi bir kaç detay daha ekleyip yaptım zaten. ama htaccess ile yapamadım php ile yaptım aynen öyle. Ama yine farklı sorunlarım var değişken işleri ile ilgili. Onları aşmakta mümkün görünmüyor
- 24-08-2010, 14:17:29Bunun teknik olarak .htaccess ile yapılabileceğinden emin değilim. O sayfaya erişimi .htaccess ile engellerseniz seo url'lerinizle eriştiğinizde de sayfa engelli görünecek diye düşünüyorum.
En iyisi php ile yapmak, sayfalarınızın ve değişkenlerinizin adları görünse dahi php dosyalara direkt erişim sağlanamaz. Şöyle bir kodu sayfanın başına ekleyerek halledebilirsiniz;
$sayfa = $_SERVER['REQUEST_URI']; if(strstr($sayfa,'.php')) { echo 'Bu sayfaya erişim izniniz yok.'; //veya header('Location: index.php'); exit; }Bu kodun ekli olduğu sayfalarda x.php?a=4 gibi bir erişim söz konusu olmaz.
İlla ki .htaccess ile yapacağım diyorsanız bir şey öneremeyeceğim, bildiğim yöntemler sayfaya herhangi bir şekilde dışarıdan erişimi tamamen engellemek üzerine. - 25-08-2010, 16:56:15.htaccess ile çözüm bulabilirseniz görmek isterim.
Dediğiniz olay şu şekilde çözülebilir aynı kodla;
<? $sayfa = $_SERVER['REQUEST_URI']; if(strstr($sayfa,'.php') || strstr($sayfa,'/?')) { echo 'Bu sayfaya erişim izniniz yok.'; //veya header('Location: index.php'); exit; } ?>