Fakat benim amacım. /profile/about yerine /profile/about.php yazıldığında 404 vermesini sağlamak. Yani kesinlikle uzantı kullanılmayacak. Örneğin Twitter da Settings’ e tıkladığınızda http://togl.me/5Bb adresine yönlendiriliyorsunuz. Fakat http://togl.me/F9C yazdığınızda sayfa bulunamadı hatası alıyoruz. Bunu nasıl sağlayabilirim?
Orada ki condition’lar ne işe yarıyor bilemiyorum, şöyle dene bakalım birde:
1
2
RewriteEngine on<br/>
RewriteRule^(.*)/(.*)/$/$1/$2_hebele.php
Bu şekilde yaparsan about_hebele.php dosyanı profile isimli bir klasör içinde tutman gerekir.. En iyi deneme yöntemi bu.. Daha sonra kendine göre düzenleyebilirsin.. Ama sen birde aşağıdaki gibi dene ilk önce:
Şimdi şunu farkettim, ben denerken (.*) şeklinde değilde ([a-zA-Z0-9]+) şeklinde denemişim ve çalıştı ama (.*) yapınca çalışmıyor, tam olarak aşağıdaki çalışır:
1
2
RewriteEngine On<br/>
RewriteRule^([a-zA-Z0-9/]+)$/$1_hebele.php
localhost/about/setting için ana dizininde about diye bir klasör açıp içine setting_hebele.php dosyasını atarak deneyebilirsin ;)
Şimdi ben sana ne yaptığımı anlatayım, sen de bana nerde hata yaptığımı söyle;
– localhost içerisine /about şeklinde bir klasör oluşturdum. İçerisine setting_hebele.php dosyasını oluşturup attım.
– localhost içerisine .htaccess dosyası oluşturdum ve içerisine şunları yazdım:
RewriteEngine On
RewriteRule ^([a-zA-Z0-9/]+)$ /$1_hebele.php
Bütün bunları yaptıktan sonra, http://togl.me/d45 dediğimde 404 alıyorum. http://togl.me/F37 dediğimde ise; setting_hebele.php dosyasını görüyorum.
Nerede hata yaptım?
Aslında tam olarak istediğim şeyi başardığın söylemişsin. Ama ben başaramadım :=)
http://togl.me/d45 dediğimde setting_hebele.php dosyası çalışacak. Böylece http://togl.me/88A şeklinde ulaşamayacaklar.. Fakat bir türlü beceremedim dostum??
index.php diye bir dosya oluştur, ve localhost/index.html şeklinde çalıştır bakalım eğer yine 404 alırsan düşündüğüm şey olacak.. Yani apache’nin rewrite ayarları yapılmamış ;) Bir dene bakalım bunu
index.php diye bir dosya oluştur, ve localhost/index.html şeklinde çalıştır bakalım eğer yine 404 alırsan düşündüğüm şey olacak.. Yani apache’nin rewrite ayarları yapılmamış ;) Bir dene bakalım bunu
Bunu denedim. Çalışıyor. Yani localhost/index.html şeklinde çağırdığımda, index.php geliyor..
Ben yapmak istediğimi açıklayabildim mi bilmiyorum? Fakat yapmak istediğim; localhost/ içerisindeki index.php dosyasını localhost/index.php şeklinde çağırdığında 404 versin istiyorum. Sadece localhost/ şeklinde çağırabileyim…
1
2
RewriteEngine On<br/>
RewriteRule^([a-zA-Z0-9/]+)$/$1_hebele.php
Bunu tam olarak nasıl yapmam gerekiyor? index_hebele.php diye bir dosya oluşturup, localhost/ şeklinde çağırabilir miyim?
Tam olarak öyle ;) index_hebele.php diye bir dosya oluştur.. ve localhost/index diye çağırdığında gelmesi lazım ;) fakat index.php diye çağırdığında çalışmaz ;) 404 verir…
Şimdi _hebele bitenler direkt şöyle çalışanlar localhost/index veya localhost/profile
_hubulu ile bitenler de şu şekilde çalışması lazım localhost/profile/settings veya localhost/profile/picture
Bu şekilde çalışıyor ;) Umarım iyi anlatabilmişimdir
Şeklinde içerisindeki bütün dosyalar görünür halde oluyor. http:localhost/index yazdığımda problem yok. Ama http:localhost/ dediğimde, bütün dosyaları görüyorum. Bunun önüne nasıl geçicez?