.Htaccess kullanarak dosya uzantılarını dizin olarak okutmak - Webmaster Forum & Webmaster Okulu
Webmaster Forum & Webmaster Okulu  

Geri Dön   Webmaster Forum & Webmaster Okulu > Server Side Programlama > PHP

PHP R10.net Php sevenler klubü. Kodlama soru(n)ları & acil php yardım hattı.

Cevapla
 
LinkBack Konu Seçenekleri
  #1 (permalink)  
Eski 22-06-2006, 13:34:11
phpkurdu.com
Guest
 
Mesajlar: n/a
Tanımlı .Htaccess kullanarak dosya uzantılarını dizin olarak okutmak

.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..

AddType application/x-httpd-php .html

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 Kodu:
<?
   
// 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 />";
   }  
?>
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, http://localhost/deneme/deneme.html 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.. www.domain.com/aboutus/ www.domain.com/contact/ 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..

#LoadModule rewrite_module modules/mod_rewrite.so (Önündeki diyez işaretini kaldırdığımızda açılmış olacaktır)

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;
PHP Kodu:
<?
   
// 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 />";
   }  
?>
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 http://localhost/deneme/services/ 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 http://localhost/deneme/aboutus/

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 http://localhost/deneme/aboutus/ ş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)
Alıntı ile Cevapla
  #2 (permalink)  
Eski 22-06-2006, 13:49:41
Nigel - ait Avatar
 
Aydın Şubesi
Nerden: Pembeköşk-Muğla/Çine-Aydın
Mesajlar: 1.008
iTrader Puanı: (1)
iTrader Feedback: (100%)
Rep puanı: 27
Nigel isimli üyemiz hakkına hiçbir bilgimiz yok.
Nigel - MSN üzerinden Mesaj gönder
Tanımlı

güzel paylaşım teşekkür ederim
__________________
Kendin ol,fark yarat.. Garantili link satın,pp ödeme
Alıntı ile Cevapla
  #3 (permalink)  
Eski 23-06-2006, 01:26:48
Wiseman - ait Avatar
 
Bursa Şubesi
Nerden: Kamberler/BURSA
Yaş: 24
Mesajlar: 777
iTrader Puanı: (6)
iTrader Feedback: (100%)
Rep puanı: 32
Wiseman isimli üyemiz hakkına hiçbir bilgimiz yok.
Tanımlı

sağolasın , re_write engine ile ilgili baya bir sorusu olan arkadaş vardı umarım işlerine yarar ..
__________________
Strategic Management & Constultancy - Pimpin Ya Businezz
Alıntı ile Cevapla
  #4 (permalink)  
Eski 23-06-2006, 02:16:10
Anti - ait Avatar
 
Mesajlar: 154
iTrader Puanı: (0)
iTrader Feedback: (0%)
Rep puanı: 1
Anti isimli üyemiz hakkına hiçbir bilgimiz yok.
Tanımlı

Aradaki muabbetler kafa karıştırsada güzel döküman
Alıntı ile Cevapla
  #5 (permalink)  
Eski 23-06-2006, 10:10:46
anarschi - ait Avatar
 
Gaziantep Şubesi
Nerden: Pc Başında
Mesajlar: 1.483
iTrader Puanı: (3)
iTrader Feedback: (100%)
Rep puanı: 22
anarschi isimli üyemiz hakkına hiçbir bilgimiz yok.
anarschi - MSN üzerinden Mesaj gönder
Tanımlı

muhabbetler maniac mış saol
__________________
anarşik çocuk
Alıntı ile Cevapla
  #6 (permalink)  
Eski 24-06-2006, 22:13:45
phpkurdu.com
Guest
 
Mesajlar: n/a
Tanımlı

Hepiniz Sağolun (:
Alıntı ile Cevapla
  #7 (permalink)  
Eski 07-07-2006, 14:58:20
 
Yaş: 28
Mesajlar: 239
iTrader Puanı: (0)
iTrader Feedback: (0%)
Rep puanı: 83
digiklan isimli üyemiz hakkına hiçbir bilgimiz yok.
Tanımlı

kanka sen kitap yazsana ya
şu 500 sayfalık adamın gözünü korkutan ve ilk cümlesinden sonuna kadar insanın kafasını karıştıran programlama kitapları varken süper satar senin kitap
edebi kodlar dünyası
eline koluna sağlık

saygılar
Alıntı ile Cevapla
  #8 (permalink)  
Eski 07-07-2006, 16:01:18
deli dana - ait Avatar
♥♥♥ P ♥ E ♥ L ♥ İ ♥ N ♥♥♥
 
Malatya Şubesi
Nerden: Geliyon Angaralııııııııııııı?
Yaş: 1
Mesajlar: 6.730
iTrader Puanı: (60)
iTrader Feedback: (100%)
Rep puanı: 345
deli dana isimli üyemiz çok iyi bir arkadaşımız.deli dana isimli üyemiz çok iyi bir arkadaşımız.deli dana isimli üyemiz çok iyi bir arkadaşımız.deli dana isimli üyemiz çok iyi bir arkadaşımız.
deli dana - MSN üzerinden Mesaj gönder
Tanımlı

mükemmelsin
hacivat karagöz hesabı ama çok hoş anlatmışlar.. tebrikler
__________________
Pelin Benimle Evlen !!!
Alıntı ile Cevapla
  #9 (permalink)  
Eski 07-07-2006, 16:03:18
CepX.net
Guest
 
Mesajlar: n/a
Tanımlı

Benden de basit şekilde urlrewrite yapmak için bir link
http://www.linkvendor.com/seo-tools/url-rewrite.html
benim işime yaradı umarım sizde de yarar
Alıntı ile Cevapla
  #10 (permalink)  
Eski 04-10-2007, 23:36:56
yasingencpro - ait Avatar
 
İzmir Şubesi
Yaş: 20
Mesajlar: 74
iTrader Puanı: (0)
iTrader Feedback: (0%)
Rep puanı: 1
yasingencpro isimli üyemiz hakkına hiçbir bilgimiz yok.
Tanımlı

Bende bu olayı yapmaya uğraşıyom ama , kim yazdıysa çok karışık yazmış. yazılanları yapıyom ama olmuyo bi türlü... Forumda aramada yaptım istediğim sonuca ulaşamıyorum
__________________
Gencpro Yazılım Grubu | | Geyik Ortam | | Bir gün hepimiz zengin olcaz. :) :)
Alıntı ile Cevapla
Cevapla


Konuyu Toplam 1 üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Konu Seçenekleri

Yetkileriniz
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-KodlarıKapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Bütün Zaman Ayarları WEZ +3 olarak düzenlenmiştir. Şu Anki Saat: 19:08:43 .



Telif Hakları vBulletin v3.7.2 © 2000-2008, ve Jelsoft Enterprises Ltd.'e Aittir.
Hosted by Radore Hosting

“İnsanların en hayırlısı, insanlara faydalı olandır”. H.Ş

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193