Htaccess, Hypertext Access ve Apache başta olmak üzere çoğu ağ sunucusu tarafından kullanılan web üzerinde ayar değişimleri yapılmasını sağlayan dosyadır.
Bu dosya ile web sitenizin birçok ayarını yapabilirsiniz. Ek olarak bu dosyayı kullanarak sitenizde güvenlik önlemleri alabilirsiniz. Web Sunucusu her zaman eğer dizinde .htaccess dosyası var ilk onu çalıştırır ve orada ki komutlara göre siteyi browser’a aktarır. Yani site tarayıcı tarafından görülmeden önce sunucu .htaccess dosyasında yazdıklarınıza göre siteyi tarayıcıda gösterir.
Makale Başlıkları
Htaccess Oluşturma
Bu dosyayı oluşturmak için herhangi bir yeni metin belgesini dahi kullanabilirsiniz. Önemli olan oluşturduktan sonra içeriğine ne yazdığınızdır. Öncelikle içeriğine neler yazmanız gerektiğini söylemeden nasıl bu dosyayı oluşturabiliriz ona gelelim. Bir kaç yöntem var ;
1- Yöntem: Bilgisayarınızda Yeni Metin Belgesi oluşturun içine htaccess kodlarını girin, üst sekmeden Dosya’ya tıklayıp farklı kaydet deyin orada kayıt türüne “Tüm Dosyalar” deyin. İsimini de “.htaccess” olarak kaydedin. oluşan dosya .htaccess dosyasıdır.
2- Yöntem: Herhangi bir gelişmiş metin editöründe (sublime text , notepad+++ , gibi…) yeni bir sayfa açıp kodları girip farklı kaydet ile oluşturabilirsiniz.
3-Yöntem: Online Htaccess oluşturucuyu kullanabilirsiniz. | https://www.htaccessredirect.net/
Dediğimiz gibi htaccess ile güvenlik önlemleri alınabilir, biraz bu konuya değinmek isterim 🙂
.htaccess dedik güvenlik dedik, peki bu ikisini nasıl bağdaştırdık 🙂 Hemen .htaccess ile ne tür önlemler alınır açıklayayım.
- Herhangi bir dosyaya dışarıdan müdahaleyi engellemek (Örnek: WordPress’de wp-config.php dosyasının korunması)
- IP kısıtlama (Örnek: Sitenize girmesini istemediğiniz kötü kullanıcıları yasaklayabilirsiniz.)
- Dizin Şifreleme (Bir Dizine Örnek: siteadı.com/admin dizinine girerken dizin şifresi belirleyebilirsiniz.)
- Dizin Listeleme Kapatma
- error_log dosyası gizleme
- Hotlink koruması
- Sitenizi Spam ve Kötü Botlardan koruyabilirsiniz.
- Son Olarak .htaccess ile .htaccessi koruyabilirsiniz 😀
htaccess ile yapılabilecek diğer işlemler
- SSL Yönledirmesi
- Cache Ayarları
- Gzip Sıkıştırması
- Permalink Ayarı
Şimdi Bu özelliklerin birkaçını açıklamak gerekirse 🙂
1- Htacces ile Permalink ayarı
Permalink Kalıcı bağlantı demektir ve SEO açısından çok önemlidir.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Kodları ile permalink ayarını yapılandırmış olursunuz.
2- Htacces ile Bir dosyaya müdahale edilmesini engelleme
<Files dosyaadi.php>
order allow,deny
deny from all
</Files>
Bu Kodu oluşturduğunuz .htaccess’in içine yazmanız durumunda dosyaadi.php dosyasına dışarıdan gelebilecek müdahaleleri engellemiş olursunuz.
3- Htaccess ile IP Kısıtlama
<Limit GET POST>
order allow,deny
deny from 201.091.21.32 (Engellenecek IP Adresi)
allow from all
</Limit>
Bu kod ile siteye girmesini istemediğiniz kişiyi engelleyebilirsiniz. Eğer birden fazla kişiyi engellemek istiyorsanız
<Limit GET POST>
order allow,deny
deny from 201.091.21.32 (Engellenecek IP Adresi)
deny from 201.091.21.32 (Engellenecek IP Adresi2)
deny from 201.091.21.32 (Engellenecek IP Adresi3)
deny from 201.091.21.32 (Engellenecek IP Adresi4)
allow from all
</Limit>
Şeklinde engelleyebilirsiniz.
4- Htacces ile Dizin Listeleme Kapatma
Genelde bu sıkıntı yaşatabiliyor. Çünkü farz edelim “siteadı.com/dosyalarım” adında bir yer var orada özel dosyalarınız mevcut, Nasıl olsa ana siteden buraya link vermiyorum burası bana özel olsun diyebilirsiniz ama ne yazık ki belli başlı araçlar ile bu “dosyalarım” klasörü belirlenebiliyor, Şimdi orada kişisel hesap bilgileriniz olsa hepsi çalınabilir :/ Bu gibi tatsız durumlar için öyle yerleri listeleme olarak kapatabilirsiniz. Bu sayede o dizine giren kişi hiçbir dosya göremez. bunun için gereken kod;
Options All -Indexes
Bu kodu htaccess’e herhangi bir yere ekleyerek dizin listelemeyi kapatabilirsiniz.
5- Htaccess ile Htaccessi koruma
Buna belki şuan gülüyorsunuz ama buda aslında önemlidir. Genelde birçok sunucu htaccess dosyasını okumaya izin vermez yani siteye zarar vermek isteyenler genelde göremez ama biz yine tedbiri elden bırakmayalım. .htaccess dosyamız ile .htaccess dosyalarımız koruyalım ki gereken önlemleri aldığımız htaccess dosyamız gizlenmiş olsun. Gereken kod;
<Files ~ “^.*\.([Hh][Tt][Aa])”>
order allow,deny
deny from all
satisfy all
</Files>
Bu konuda yüzeysel olarak htaccess’den bahsettim sadece 🙂 Detaylı bir şekilde .htaccess güvenlik önlemleri adlı bir konu açıcam o zaman bu konunun altında link veririm. O konuda htaccess ile alınabilecek bütün güvenlik önlemlerini anlatacağım.
6- SSL Yönlendirmesi
SSL sertifikası aldıysanız ve http yerine siteye giren herkesi https olarak yönlendirmek için;
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]
Bu kod yeterli olacaktır.
Hiç Ben oluşturmayla filan uğraşamam ya şimdi hazır yok mu işte iki dakika indirerek atak sunucuya diyorsanız genel ayarların olduğunu bu htaccess dosyasını kullanabilirsiniz. 🙂
WordPress İçin Genel Standart Hazır .htaccess dosyası — > WordPress Htaccess Kodları