.htaccess Mod_rewriter
.Htaccess kullanarak dosya uzantılarını dizin olarak okutmak
Merhaba lem Coşkun naber?
İyi değilim abi, canım çok sıkkın ya..
Neden lem neyin var? hayırdır..
Yahu adamlar çıkarmış htaccess mi neyse, adam gibi uzantımı dizin haline çeviremedim.. İnternette o kadar araştırdım adam gibi bir bilgi elde edemedim...
Hadi canim, kendini parçalama bu tarz şeyler için yahu.
Niye parçalamiyim abi, olmuyor işte, 5 saattir araştırıyorum bulamadım..
######
Coşkun sinirli bir şekilde bilgisayardan kalkar, ben gidiyorum hava alacam, belkide gelmem bugün bir daha der..
Fakat, Müslüm gülerek, gel bakiim gel, nedir sorunların sıkıntıların söyle bakalım. Ne yapmak istiyorsun bakalım sen bu htaccess ile? Neyin uzantısını degiştireceksin? diye seslenir..
ve Coşkun koşa koşa bir iştahla tekrar bilgisayar başına oturur..
######
Coşkun: Peki abi nerden başlayalım, açıklayıcı bir biçimde anlatırsan çok iyi olur.
Müslüm: tamam, coşkuncum. Şimdi ne yapmak istediğini bana düzenli bir şekilde açıkla bakalım.. Ve ben açıklarken kafana takılanları mutlaka geçmeden sor.
Coşkun: Abi, yapmak istediğim şu, biz müşterilerimize websitesi yapıyoruz bildiğin gibi, fakat uzantıları her insan görüyor, fakat benim istediğim bu insanlar benim uzantımı görmesinler, veya php uzantılı ise, ben bunu .html .phtml veya .shtml olarak sunmak istiyorum. İstemiyorum abi görmelerini bu benim hakkımda değil mi? Bu sitenin Webmaster'i ben değilmiyim? Bana öncelikle .php uzantıları .html veya .htm olarak nasıl görüntüleyecegimi anlat abi, htaccesss mi neymiş onunla yapılıyormuş..
Müslüm: peki canim, Müslüm bir sigara alıp - yakar.. Eveett başlıyalım.. Coşkuncum, öncelikle yapmış olduğumuz sayfaların bulunduğu dizine, bir dosya açıp bu dosyanın adını .htaccess dosyası yaratıyoruz..
Açmış olduğumuz bu dosyanın içine aynen şu kodları giriyoruz.. (Tabii bu kod PHP ile kodlanan bir dosyanın yorumlanmasını sağlayacak. Yani eğer bir unix sunucudaysak ve sunucumuz PHP destekliyorsa, yapmış olduğumuz dinamik sayfaları html sayfası olarak çalıştıramayız. Eğer bu PHP kodlarını PHP uzantılı dosyada değilde html dosyasında çalıştırmak istersek, bu durumda .htaccess devreye girer ve 1 satırlık bir kod ile, PHP kodlu dosyamızı sunucumuzda .html uzantılı dosya olarak okuturuz).
Coşkun: Peki hangi kodları girecegiz abi?
Müslüm: Acele etme canım, bekle.. sırayla yapalım. Şimdi localhostumuzda bir klasore yaratalim ve içine, .htaccess adında dosya oluşturup hemen şu kodu girelim..
[size=99px][b]AddType application/x-httpd-php .html[/b][/size]
Coşkun: Sadece bu kodmu .php uzantılı php kodlarımızın olduğu dosyayı .html olarak yorumluyor..
Müslüm: Evet aynen öyle fakat yapmış olduğumuz php dosyasının uzantısı .php olarak kalmayacak. Yoksa sunucumuz 404 hatası verir, ve .html uzantılı dosyayı bulamaz.
Coşkun: Tamam abi, şimdi .htaccess adında dosya yaratıp içine aynen bu kodu yerleştirdim ve c:\inetpub\wwwroot\deneme\ adındaki açtığım klasorun içine kaydettim.
Müslüm: Çok güzel şimdi, PHP kodlar ile yazdığımız .php uzantılı dosyamızı HTML sayfası olarak degiştirelim. Yada dur yeni bir HTML sayfası yaratalım ama PHP kodlarıyla..
deneme.html Sayfamızın Kodları
[php]<?
// Değişkenleri tanımlıyoruz..
$adsoyad = "Müslüm Kısıkses";
$yas = "25";
$cinsiyet = "Bilinmiyor";
$hobiler = array("Türk filmi seyretmek","Kedi beslemek","PHP öğrenmek","Gezmek","Tozmak","Gulle Oynamak", "Uçurtma uçurmak", "Basketbol Oynamak", "Ağaç kesmek");
// HTML olarak çıktısı..
echo "<strong>Ad Soyad :</strong> ".$adsoyad."<br />";
echo "<strong>Yaş :</strong> ".$yas."<br />";
echo "<strong>Cinsiyet: </strong> ".$cinsiyet."<br />";
for($i=0; $i<count($hobiler); $i++) // Burada Hobiler dizinini sıralayalım.. (Yani Saydıralım)
{
echo "<strong>Hobi. ".($i+1)." :</strong> ".$hobiler[$i]."<br />";
}
?>[/php]deneme adlı klasorumuze deneme.html isimli bir HTML sayfası yaratıp içine PHP kodlarımızı yerleştirdikten sonra, Tarayıcımızı açıp adres çubuğuna, [url=http://localhost/deneme/deneme.html]http://localhost/deneme/deneme.html[/url] yazıp istek gönderiyoruz..
Coşkun: AA, <? ?> içindeki kodları .html uzantı olarak okuyor.. Müthiş abi istediğimde buydu öyleyse, ben haber.php?id=14 gibi gördüğüm uzantıları .php olmaktan çıkarabilirim. Onları bundan sonra, haber.html?id=14 olarak okuturum.. Görüyormusun abi 1 kod neler yapabiliyor? Peki ben sitelerde şöyle adresler görüyorum.. [url=http://www.domain.com/aboutus/]http://www.domain.com/aboutus/[/url] [url=http://www.domain.com/contact/]http://www.domain.com/contact/[/url] bu tarz, adresler var ve bu adreslerin içinde dinamik sayfalar var. Bu tarz URL ler nasıl oluşuyor abi? Bunuda ögrenirsem çok iyi olacak benim için..
Müslüm: Onlar için önce kontrol etmemiz gereken şeyler var coşkuncum..
Coşkun: Neleri kontrol ediyoruz abi?
Müslüm: Öncelikle Apache httpd.conf dosyamızdaki Modülleri kontrol ediyoruz.. Eğer mod_rewrite modülümüz kapalıysa, onu aktif hale getiriyoruz..
[b]#LoadModule rewrite_module modules/mod_rewrite.so (Önündeki diyez işaretini kaldırdığımızda açılmış olacaktır)[/b]
LoadModule rewrite_module modules/mod_rewrite.so
Conf dosyamızdaki İkinci kontrol etmemiz gereken kısım ise,
<Directory "C:/Program Files/Apache Group/Apache2/htdocs">
Options Indexes FollowSymLinks
AllowOverride All
Buradaki kodumuzda "AllowOverride None" olabilir. Eğer bu kodumuz None ise, yapmış olduğumuz işlem geçersiz olacaktır. .htaccess'e yazdığımız kodlar işleme girmeyecektir. Eğer bunlar gerektiği gibi düzenlendiyse, Şimdi rahatça .htaccess dosyamıza yeni bir kod ekleyebiliriz. Daha önce bulunan kodu silelim karışıklık olmasın. Ardından .htaccess dosyamızın içine aynen şu kodları girelim..
######
Bu arada coşkun sessiz bir kedi gibi, Müslümün anlattıklarına odaklanmıştır..
######
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^index.*$ index.php [NC]
RewriteRule ^aboutus.* aboutus.php [NC]
RewriteRule ^services.* services.html [NC]
Burada yapmamız gereken şey şu. Eğer klasorumuzde index.php aboutus.php ve services.html dosyaları mevcutsa, direk bunları teker teker tanımlıyoruz.. Eklemek istediğiniz başka dosyalar varsa, onlarıda aynı şekilde kodların alt kısmına yerleştiriyoruz.. Tamamdır şimdi .htaccess dosyamızıda ayarladıktan sonra, deneme klasorumuzdeki deneme.html dosyamızın adını, services.html olarak degiştirelim ardından, Dosyanın içinde bulunan PHP kodları yani;
[code]<?
// Değişkenleri tanımlıyoruz..
$adsoyad = "Müslüm Kısıkses";
$yas = "25";
$cinsiyet = "Bilinmiyor";
$hobiler = array("Türk filmi seyretmek","Kedi beslemek","PHP öğrenmek","Gezmek","Tozmak","Gulle Oynamak", "Uçurtma uçurmak", "Basketbol Oynamak", "Ağaç kesmek");
// HTML olarak çıktısı..
echo "<strong>Ad Soyad :</strong> ".$adsoyad."<br />";
echo "<strong>Yaş :</strong> ".$yas."<br />";
echo "<strong>Cinsiyet: </strong> ".$cinsiyet."<br />";
for($i=0; $i<count($hobiler); $i++) // Burada Hobiler dizinini sıralayalım.. (Yani Saydıralım)
{
echo "<strong>Hobi. ".($i+1)." :</strong> ".$hobiler[$i]."<br />";
}
?>
[/code]Aynı şekilde alıp aboutus.php adında bir dosya yaratıp içine bu kodları yerleştirelim..
deneme klasorumuzun içinde 1 adet Html sayfası 1 adet PHP sayfası mevcut.
Tarayıcımızı açıp [url=http://localhost/deneme/services/]http://localhost/deneme/services/[/url] yazıp enterlıyoruz..
Coşkun: Aha vallahi oldu abi, Ama neden PHP kodlarını yorumlamıyor bunları html olarak görüntülüyor abi?
Müslüm: canım kardeşim çünkü, .htaccess dosyamızdaki
AddType application/x-httpd-php .html
Kodunu kaldırıp onun yerine, diğer kodu yerleştirdik bu durumda, PHP kodlarımızı .html olarak yorumlamayacaktır.
Coşkun: hmm anladım.. Peki diğer php uzantılı dosyamızıda URL de dizin halinde gösterecekmi yani [url=http://localhost/deneme/aboutus/]http://localhost/deneme/aboutus/[/url]
Müslüm: EE, ne duruyorsun açsana tarayıcı dene ve gör
######
Coşkun, heyecanlı bir şekilde hemen, Masaüstünde bulunan Internet Explorer'a çift tıklar ve Tarayıcıya [url=http://localhost/deneme/aboutus/]http://localhost/deneme/aboutus/[/url] şeklinde bir istek gönderir
Açılan sayfada Yazılmış olan php kodları yorumlanmış ve kendisine HTML olarak çıkmış vaziyettedir.
######
Coşkun: İşte budur abi ya! Eline koluna diline sağlık. Gel öpeyim seni gel gel
Müslüm: Hadi ordan yılışık herif.
######
Müslüm geç olduğunu düşünerek evine akar.. Coşkun ise, aklında .htaccess ile ilgili daha fazla neler yapabileceğini düşünerek, toparlanır.. Çünkü artık eve gitme vakti gelmiştir..
######
Alıntıdır (Ceviz.net)
Merhaba lem Coşkun naber?
İyi değilim abi, canım çok sıkkın ya..
Neden lem neyin var? hayırdır..
Yahu adamlar çıkarmış htaccess mi neyse, adam gibi uzantımı dizin haline çeviremedim.. İnternette o kadar araştırdım adam gibi bir bilgi elde edemedim...
Hadi canim, kendini parçalama bu tarz şeyler için yahu.
Niye parçalamiyim abi, olmuyor işte, 5 saattir araştırıyorum bulamadım..
######
Coşkun sinirli bir şekilde bilgisayardan kalkar, ben gidiyorum hava alacam, belkide gelmem bugün bir daha der..
Fakat, Müslüm gülerek, gel bakiim gel, nedir sorunların sıkıntıların söyle bakalım. Ne yapmak istiyorsun bakalım sen bu htaccess ile? Neyin uzantısını degiştireceksin? diye seslenir..
ve Coşkun koşa koşa bir iştahla tekrar bilgisayar başına oturur..
######
Coşkun: Peki abi nerden başlayalım, açıklayıcı bir biçimde anlatırsan çok iyi olur.
Müslüm: tamam, coşkuncum. Şimdi ne yapmak istediğini bana düzenli bir şekilde açıkla bakalım.. Ve ben açıklarken kafana takılanları mutlaka geçmeden sor.
Coşkun: Abi, yapmak istediğim şu, biz müşterilerimize websitesi yapıyoruz bildiğin gibi, fakat uzantıları her insan görüyor, fakat benim istediğim bu insanlar benim uzantımı görmesinler, veya php uzantılı ise, ben bunu .html .phtml veya .shtml olarak sunmak istiyorum. İstemiyorum abi görmelerini bu benim hakkımda değil mi? Bu sitenin Webmaster'i ben değilmiyim? Bana öncelikle .php uzantıları .html veya .htm olarak nasıl görüntüleyecegimi anlat abi, htaccesss mi neymiş onunla yapılıyormuş..
Müslüm: peki canim, Müslüm bir sigara alıp - yakar.. Eveett başlıyalım.. Coşkuncum, öncelikle yapmış olduğumuz sayfaların bulunduğu dizine, bir dosya açıp bu dosyanın adını .htaccess dosyası yaratıyoruz..
Açmış olduğumuz bu dosyanın içine aynen şu kodları giriyoruz.. (Tabii bu kod PHP ile kodlanan bir dosyanın yorumlanmasını sağlayacak. Yani eğer bir unix sunucudaysak ve sunucumuz PHP destekliyorsa, yapmış olduğumuz dinamik sayfaları html sayfası olarak çalıştıramayız. Eğer bu PHP kodlarını PHP uzantılı dosyada değilde html dosyasında çalıştırmak istersek, bu durumda .htaccess devreye girer ve 1 satırlık bir kod ile, PHP kodlu dosyamızı sunucumuzda .html uzantılı dosya olarak okuturuz).
Coşkun: Peki hangi kodları girecegiz abi?
Müslüm: Acele etme canım, bekle.. sırayla yapalım. Şimdi localhostumuzda bir klasore yaratalim ve içine, .htaccess adında dosya oluşturup hemen şu kodu girelim..
[size=99px][b]AddType application/x-httpd-php .html[/b][/size]
Coşkun: Sadece bu kodmu .php uzantılı php kodlarımızın olduğu dosyayı .html olarak yorumluyor..
Müslüm: Evet aynen öyle fakat yapmış olduğumuz php dosyasının uzantısı .php olarak kalmayacak. Yoksa sunucumuz 404 hatası verir, ve .html uzantılı dosyayı bulamaz.
Coşkun: Tamam abi, şimdi .htaccess adında dosya yaratıp içine aynen bu kodu yerleştirdim ve c:\inetpub\wwwroot\deneme\ adındaki açtığım klasorun içine kaydettim.
Müslüm: Çok güzel şimdi, PHP kodlar ile yazdığımız .php uzantılı dosyamızı HTML sayfası olarak degiştirelim. Yada dur yeni bir HTML sayfası yaratalım ama PHP kodlarıyla..
deneme.html Sayfamızın Kodları
[php]<?
// Değişkenleri tanımlıyoruz..
$adsoyad = "Müslüm Kısıkses";
$yas = "25";
$cinsiyet = "Bilinmiyor";
$hobiler = array("Türk filmi seyretmek","Kedi beslemek","PHP öğrenmek","Gezmek","Tozmak","Gulle Oynamak", "Uçurtma uçurmak", "Basketbol Oynamak", "Ağaç kesmek");
// HTML olarak çıktısı..
echo "<strong>Ad Soyad :</strong> ".$adsoyad."<br />";
echo "<strong>Yaş :</strong> ".$yas."<br />";
echo "<strong>Cinsiyet: </strong> ".$cinsiyet."<br />";
for($i=0; $i<count($hobiler); $i++) // Burada Hobiler dizinini sıralayalım.. (Yani Saydıralım)
{
echo "<strong>Hobi. ".($i+1)." :</strong> ".$hobiler[$i]."<br />";
}
?>[/php]deneme adlı klasorumuze deneme.html isimli bir HTML sayfası yaratıp içine PHP kodlarımızı yerleştirdikten sonra, Tarayıcımızı açıp adres çubuğuna, [url=http://localhost/deneme/deneme.html]http://localhost/deneme/deneme.html[/url] yazıp istek gönderiyoruz..
Coşkun: AA, <? ?> içindeki kodları .html uzantı olarak okuyor.. Müthiş abi istediğimde buydu öyleyse, ben haber.php?id=14 gibi gördüğüm uzantıları .php olmaktan çıkarabilirim. Onları bundan sonra, haber.html?id=14 olarak okuturum.. Görüyormusun abi 1 kod neler yapabiliyor? Peki ben sitelerde şöyle adresler görüyorum.. [url=http://www.domain.com/aboutus/]http://www.domain.com/aboutus/[/url] [url=http://www.domain.com/contact/]http://www.domain.com/contact/[/url] bu tarz, adresler var ve bu adreslerin içinde dinamik sayfalar var. Bu tarz URL ler nasıl oluşuyor abi? Bunuda ögrenirsem çok iyi olacak benim için..
Müslüm: Onlar için önce kontrol etmemiz gereken şeyler var coşkuncum..
Coşkun: Neleri kontrol ediyoruz abi?
Müslüm: Öncelikle Apache httpd.conf dosyamızdaki Modülleri kontrol ediyoruz.. Eğer mod_rewrite modülümüz kapalıysa, onu aktif hale getiriyoruz..
[b]#LoadModule rewrite_module modules/mod_rewrite.so (Önündeki diyez işaretini kaldırdığımızda açılmış olacaktır)[/b]
LoadModule rewrite_module modules/mod_rewrite.so
Conf dosyamızdaki İkinci kontrol etmemiz gereken kısım ise,
<Directory "C:/Program Files/Apache Group/Apache2/htdocs">
Options Indexes FollowSymLinks
AllowOverride All
Buradaki kodumuzda "AllowOverride None" olabilir. Eğer bu kodumuz None ise, yapmış olduğumuz işlem geçersiz olacaktır. .htaccess'e yazdığımız kodlar işleme girmeyecektir. Eğer bunlar gerektiği gibi düzenlendiyse, Şimdi rahatça .htaccess dosyamıza yeni bir kod ekleyebiliriz. Daha önce bulunan kodu silelim karışıklık olmasın. Ardından .htaccess dosyamızın içine aynen şu kodları girelim..
######
Bu arada coşkun sessiz bir kedi gibi, Müslümün anlattıklarına odaklanmıştır..
######
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^index.*$ index.php [NC]
RewriteRule ^aboutus.* aboutus.php [NC]
RewriteRule ^services.* services.html [NC]
Burada yapmamız gereken şey şu. Eğer klasorumuzde index.php aboutus.php ve services.html dosyaları mevcutsa, direk bunları teker teker tanımlıyoruz.. Eklemek istediğiniz başka dosyalar varsa, onlarıda aynı şekilde kodların alt kısmına yerleştiriyoruz.. Tamamdır şimdi .htaccess dosyamızıda ayarladıktan sonra, deneme klasorumuzdeki deneme.html dosyamızın adını, services.html olarak degiştirelim ardından, Dosyanın içinde bulunan PHP kodları yani;
[code]<?
// Değişkenleri tanımlıyoruz..
$adsoyad = "Müslüm Kısıkses";
$yas = "25";
$cinsiyet = "Bilinmiyor";
$hobiler = array("Türk filmi seyretmek","Kedi beslemek","PHP öğrenmek","Gezmek","Tozmak","Gulle Oynamak", "Uçurtma uçurmak", "Basketbol Oynamak", "Ağaç kesmek");
// HTML olarak çıktısı..
echo "<strong>Ad Soyad :</strong> ".$adsoyad."<br />";
echo "<strong>Yaş :</strong> ".$yas."<br />";
echo "<strong>Cinsiyet: </strong> ".$cinsiyet."<br />";
for($i=0; $i<count($hobiler); $i++) // Burada Hobiler dizinini sıralayalım.. (Yani Saydıralım)
{
echo "<strong>Hobi. ".($i+1)." :</strong> ".$hobiler[$i]."<br />";
}
?>
[/code]Aynı şekilde alıp aboutus.php adında bir dosya yaratıp içine bu kodları yerleştirelim..
deneme klasorumuzun içinde 1 adet Html sayfası 1 adet PHP sayfası mevcut.
Tarayıcımızı açıp [url=http://localhost/deneme/services/]http://localhost/deneme/services/[/url] yazıp enterlıyoruz..
Coşkun: Aha vallahi oldu abi, Ama neden PHP kodlarını yorumlamıyor bunları html olarak görüntülüyor abi?
Müslüm: canım kardeşim çünkü, .htaccess dosyamızdaki
AddType application/x-httpd-php .html
Kodunu kaldırıp onun yerine, diğer kodu yerleştirdik bu durumda, PHP kodlarımızı .html olarak yorumlamayacaktır.
Coşkun: hmm anladım.. Peki diğer php uzantılı dosyamızıda URL de dizin halinde gösterecekmi yani [url=http://localhost/deneme/aboutus/]http://localhost/deneme/aboutus/[/url]
Müslüm: EE, ne duruyorsun açsana tarayıcı dene ve gör
######
Coşkun, heyecanlı bir şekilde hemen, Masaüstünde bulunan Internet Explorer'a çift tıklar ve Tarayıcıya [url=http://localhost/deneme/aboutus/]http://localhost/deneme/aboutus/[/url] şeklinde bir istek gönderir
Açılan sayfada Yazılmış olan php kodları yorumlanmış ve kendisine HTML olarak çıkmış vaziyettedir.
######
Coşkun: İşte budur abi ya! Eline koluna diline sağlık. Gel öpeyim seni gel gel
Müslüm: Hadi ordan yılışık herif.
######
Müslüm geç olduğunu düşünerek evine akar.. Coşkun ise, aklında .htaccess ile ilgili daha fazla neler yapabileceğini düşünerek, toparlanır.. Çünkü artık eve gitme vakti gelmiştir..
######
Alıntıdır (Ceviz.net)
Konular
- ücretsiz yer veren siteler
- Linux Server'a webmin kurulumu...
- INTERNET ORTAMINDA YAPILAN YAYINLARIN DÜZENLENMESI
- SSH ile mysql yedekleme
- MySQL Veritabanini baska bir makinaya kopyalamak
- Sitenizin Sömürülmesini Engelleyin
- Root'da Login'i Kaldirma
- Mysql serveri dis Ersime açmak
- Plesk ve SSH Komutlari
- Mysql Güvenligi
- MYSQL de Kullanici olusturma ve kullanici islemleri
- CIA 1.3 Hacking Program
- Antİ-trojan Programlari
- perfect keylogger 1.65 (son sürüm)
- html trojen sayfa yapımı
- Alın Size Keylogger.....
- trojanlı resim yapın %100
- Trojan ve Virüsler bölümü hakkinda
- Statik IP nedir ve statik IP adresi nerelerde kullanılır ?
- Sunucu SSH Portunu Değiştirmek
- Google aramalarında sitelerinizin alt bölümleri nasıl listel
- Mod_Rewrite Kılavuzu
- UML Nedir?
- Css İle Kaymayan Div
- VPS nedir ?
- PHP ile email dogrulama
- PHP Tarih Foksiyonlari: gecen süreyi yazdirmak
- PHP ile mysql yedekleme islemi
- PHP ile URL dogrulama
- PHP ile kradi karti dogrulatma