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..
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ı
<?
// 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;
<?
// 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..
######
htaccess uzantı gizleme, htaccess ile uzantı gizleme, htacces uzantıları sakalama, php 404 uzantı gizleme, jpeg uzantılı resmi exeye ekleme, htaccess uzantıyı gizlemek, htaccess uzantıyı gizleme, htaccess sayfa uzantılarını saklama, htaccess php uzantı gizleme, htaccess php kodları çalıştırma ceviz net
Benzer Konular:
Tarzın oldukça çoook farklı.
gerçekten çok beğendim. Sanki gerçek bir olayın üstüne güzel düşünülerek farklı olmasını bekleyerek düzenlenmiş bir makale
Dikkat çekmesi açısından çok yararlı olmuş. Tebrik ederim..
müthiş olmuş ya hikayeyi zevkle okudum
kardeş cok güzel anlatmışsın walla hlll olsun
hoca çok güzel anlatmışsın da kendi localhostumda dediğin .htaccess dosyasını oluşturamadım.Acaba windows makinede bu iş olmuyor ve ya ben mi yanlış yapıyom.yardımcı olursanız sevinirim.Birde hangi platformlarda çalışıyor bu olay.Yazının bir kısmı iis ile bir kısmıda apache server ile ilgili galiba.
teşekkürler
Not defterine .htaccess dosyasi icin yazdigim kodlari gecir, Kaydet de ve localhostunda kullanmak istedigin klasorun icine kaydet, ama kaydederken, “.htaccess” isminde kaydet, bu windows tarafindan otomatikemn .htaccess dosyasi olarak kaydedecek ve herhangi bir uzanti atamayacaktir.
Fakat sen ” ” isaretlerini koymazsan kaydederken, bu Notdefteri olarak okuyup kaydederken .htaccess.txt dosyasi haline cevirecek, .txt uzantisi atayacaktir.
teşekkürler hocam.şimdi oldu.
Yanı sıra google gibi arama motorlarında daha yukarılara tırmanmak için yapılıyor.
php yi html olarak yorumladık ama kaynak kodu göster dediğimizde kodlar aynen çıkıyo
.htaccess dosyası yazınca çalışmadı
ama httpd.conf dosyasına yazınca çalıştı
bu niyedir, nedendir, nasıldır
ayrıca uzaktaki sunucuya gönderdiğimde de
internal server error verdi
hadi hayırlısı
application/x-shockwave-flash flash içerikli sitemi kendi pc im de kurduğum serverdan yayınlayamıyorum…aslında çalışıyor ama swf dosyaları çalışmıyor..görünmüyor..yardımcı olurmusunuz..imdaaaattttt..help me..
jpg -> application/octet-stream için bu tanımlamayı getiriyorum ve exenin uzantısını jpg olarak kaydedip…proxy kullandığım IE ile istek gönderdiğimde engellendi gibi bi uyarı alıyorum..proxy kullanmadan da denedim yine aynı..istek yapılan terminalde direk çalışmasını nasıl sağlarım..? Help me…
application/x-shockwave-flash swf galiba böyle olcak ama…flash ile swf arasında boşluk bırakamıyorum..kullandığım web server almıyor galiba..Help meeee
harika yafs
bir önce dediğim oluyomuş, ben yanlış kullanmışım, kusura bakmayın kirlettim biraz
Teşekkürler çalışmanız çok güzel olmuş ama benim şöyle bir sorunum var Örneğin
“RewriteRule ^homepage.*$ index.php [NC] ” yerine ben
“RewriteRule ^homepage/turkce/1024.*$ index.php [NC] ” şekilinde bir url yapmak istedim ama olmadı ne yapmam gerekir böyle birşey yapmak için
php dosyaları html gibi gösterme yöntemini denedim maalesef olmadı :/
Merhaba değerli kardeşim şimdi benim serverim var Suse 9.0 professional kontrol panelimde “plesk” fakat “.htaccsess” çalıştırmıyor. bunun için bir modul kurmam lazım bu modulu bulmamda bana yardımcı olurmusunuz..?
Hiko, anlatım tarzın mükemmel olmuş, verdiğin bilgiler çok değerli.
Teşekkür ederim.
wampserver kullanıol bende php emrine jpg atamak istiyom ama olmadı yardımö plz
teşekkürler sürükleyici bir hikaye idi. Bunun ikinci bölümü olacakmı?
inanılmaz gerçekten çok süper bir şekilde anlamışsın ve tam aradığım birşey.eline koluna sağlık…
bu nasıl bir anlatımdır ya
Süper olmuş. ellerine sağlık. Biraz daha büyük boyutlusunu başka bir konu üzerine yazıp “Kemik” ismini verip roman olarak yayınlarsan best seller olur
)))
bilgi için teşekkürler tekrar
süper oLmuş ama bunu php-nuke gibi scriptlerde yapabilmek için bir çok daha kod kullanmak gerekir yani bu basit scriptlerde işe yarar
valla roman gibi okudum bir solukda sonunu merak ederek. böyle yazılar daha çok olmalı bence hatta coşkun karakteri yerine çok saf biri olurda safca sarular sorarsa daha açıklayıcı bilgilerde içerir.
dedğiniz herşeyi yaptım fakat olmadı. deneme.html i acınca bole oluo :
RemoveHandler .html .htm
AddType application/x-httpd-php .php .htm .html
pardon yanlıs kopyaladım bu cıkıo sayfada :
“; echo “Yaş : “.$yas.”
“; echo “Cinsiyet: “.$cinsiyet.”
“; for($i=0; $i “.$hobiler[$i].”
“; } ?>
yanı calısmıo
bende bi scrip var .htaccess dosyası ile ilk defa karşılasıyorum daha onceleri asp kullanıyordum.
.htaccess dosyamın içeriği sole:
RewriteEngine On
RewriteRule ^index.html$ index.php?as=anasayfa [L,NC]
RewriteRule ^sarki-sozleri.html$ index.php?as=listele&durum=sozler [L,NC]
RewriteRule ^sarki-sozleri-sayfa(.*).html$ index.php?as=listele&durum=sozler&sf=$1 [L,NC]
RewriteRule ^akorlar.html$ index.php?as=listele&durum=akorlar [L,NC]
RewriteRule ^akorlar-sayfa(.*).html$ index.php?as=listele&durum=akorlar&sf=$1 [L,NC]
RewriteRule ^mp3ler.html$ index.php?as=listele&durum=mp3ler [L,NC]
RewriteRule ^mp3ler-sayfa(.*).html$ index.php?as=listele&durum=mp3ler&sf=$1 [L,NC]
RewriteRule ^arama.html$ index.php?as=listele&durum=arama [L,NC]
RewriteRule ^(.*)-arama-(.*)-sayfa(.*).html$ index.php?as=listele&durum=arama&aratur=$1&ara=$2&sf=$3 [L,NC]
RewriteRule ^mp3-(.*)–(.*).html$ index.php?as=indir&is=mp3&sarkiadimiz=$1&id=$2 [L,NC]
RewriteRule ^sarkisozu-(.*)–(.*).html$ index.php?as=indir&is=sarkisozu&sarkiadimiz=$1&id=$2 [L,NC]
RewriteRule ^akor-(.*)–(.*).html$ index.php?as=indir&is=akor&sarkiadimiz=$1&id=$2 [L,NC]
php uzantılı dosyalarım var anasayfada mesela mp3 butonuna basınca 404 error alıyorum html uzantı acılmıyor. Scribtin her yerini düzelttim ama bunu yapamıyorum. Bana yardım ederseniz cok sevinirim şimdiden teşekkürler.
hocam ben programlamadan hiç anlamam. buna rağmen yazını bir solukta roman gibi okudum. tebrikler
wamp server kullanıyorum
localhostumda;
deneme klasörü oluşturdum –> ok
.htaccess oluşturdum –> hata
windows hata verio bir dosya adı girmelisiniz dio, nasıl olcak bu .htaccess ????
merhaba anlatım için önceliklte teşekkür ederim. müslümü sevdim
öncelikle google pr tağılımı için mesela domain ve index.php ye ayrı ayrı pr değeri veriyor bunun için index.php için direk domainin her zaman önde olmasını istiyorum google beni asla index.php olarak pr değerlendirmesine almasın. Bunu istemem nedenim belki yanlış düşünüyorum bilmiyorum. google sayfaların pr ını paylaştırıyor. birde domain.com/about mı yoksa domain.about.html mi google tarafından daha iyi bir algılanır. şimdiden teşekkürler
.htaccess dosyamın içeriği;
#Hata sayfasına yönlendirme
ErrorDocument 404 /toolroom/hata.php
#Güzel görünümlü linkler
Options +FollowSymlinks
RewriteEngine On
RewriteBase /toolroom
RewriteRule ^tool_detay/([A-Za-z0-9-]+)/?$ tool_detay.php?id=$1 [L,NC]
bir türlü çalıştıramadım arkadaşlar, hata sayfası çalışıyor ama tool_detay.php?id=1 şeklindeki linki tool_detay/1/ şeklinde yapmak istiyorum acaba sorunum nerede?????
yardımlarınız için şimdiden teşekkürler..
Peki $_GET le gönderdiğimiz idler veya taglar için nasıl bir .htaccess dosyası oluşturmamız lazım
ben
RewriteRule ^index/.*$ index.php?id= [NC]
bunu denedim ama olmadı. Yada bende çalışmadı
makale için tesekkurler fakat ornegin abc.com/asd diye istek gonderilince calısıo fakat abc.com/asd/ diye gonderilince sadece php kodlar yorumlanmıyor sebebi ne olabilir simdiden tesekkur ederim