.htaccess (Hypertext Access), Apache gibi ağ sunucusu tarafından kullanılan web alanları üzerinde ayar yapmanızı sağlayan dosyadır. Peki .htaccess Nedir? Ne İşe Yarar?
.htaccess dosyası sayesinde, siteniz üzerinde bir çok yetkilendirme, kısıtlama işlemi yapabilirsiniz. 100’den fazla komut kullanabileceğiniz bu dosyada, işlem yapmak farklı kodlamalar kullanmayı gerektirir. Bu yüzden, kodlama bilginiz yok ise, bu dosyayı karıştırmamanız sizin ve siteniz için iyi bir seçim olabilir.
Yazı İçeriği
.htaccess Dosyası ile Neler Yapılabilir?
- Link yapınızı SEO uyumlu hale getirebilirsiniz.
- WWW yapılandırması yapabilirsiniz.
- Hotlink engelleyebilirsiniz.
- Dosyaları gizleyebilirsiniz.
- Klasör yetki sınıflandırmalarını ayarlayabilirsiniz.
- Spamları engelleyebilirsiniz.
- Düşman botları engelleyebilirsiniz.
- Telefonları algılayıp, yönlendirebilirsiniz.
- IP engelleyebilirsiniz.
- Bakım sayfanızı oluşturabilirsiniz.
- Domain yönlendirme işlemini yapabilirsiniz.
- Verilerinizi optimize edebilirsiniz.
- Dosya şifreleme ve şifre koruması gibi güvenlik işlemlerinizi halledebilirsiniz.
- Hata sayfalarını düzenleyebilirsiniz.
.htaccess Dosyası Nerede Bulunur?
Site dosyalarınızın barındığı public_html klasörü içerisinde bu dosyayı görebilirsiniz.
cPanel
- cPanel yönetim panelinize giriş yapın.
- Dosya Yöneticisi simgesine tıklayınız.
- “Gizli Dosyaları Göster” seçeneğini işaretleyin.
- Döküman dizinine çift tıklayın.
- .htaccess dosyasını public_html klasörü altında görüntüleyebilir ve düzenleyebilirsiniz.
.htaccess Dosyasında Kullanabileceğiniz Kod Örnekleri
URL Yönlendirme (Rewriting URL)
RewriteEngine On ReWriteCond %{HTTP_HOST} ^(www\.)?eskialanadiniz\.com$ [NC] ReWriteRule ^(.*)$ http://www.yenialanadiniz.com/$1 [R=301,L]
Dosya ve Dizinlere Erişimi Engelleme
deny from all
Belirli bir IP adresinden veya IP bloğundan erişime izin vermek için:
deny from all allow from 192.168.1.10 # tek ip adresi allow from 192.168.1.0/24 # ip bloğu
Sadece tek bir dosyaya erişimi kısıtlamak için:
<Files gizlidosya.html> Order allow,deny Deny from all </Files>
Önbellek Kontrolü
# Enable GZIP <ifmodule mod_deflate.c> AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html </ifmodule> # Expires Headers - 2678400s = 31 days <ifmodule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 2678400 seconds" ExpiresByType text/html "access plus 7200 seconds" ExpiresByType image/gif "access plus 2678400 seconds" ExpiresByType image/jpeg "access plus 2678400 seconds" ExpiresByType image/png "access plus 2678400 seconds" ExpiresByType text/css "access plus 750000 seconds" ExpiresByType text/javascript "access plus 2678400 seconds" ExpiresByType application/x-javascript "access plus 2678400 seconds" </ifmodule> # Cache Headers <ifmodule mod_headers.c> # Cache specified files for 31 days <filesmatch "\.(ico|flv|jpg|jpeg|png|gif|css|swf)$"> Header set Cache-Control "max-age=2678400, public" </filesmatch> # Cache HTML files for a couple hours <filesmatch "\.(html|htm)$"> Header set Cache-Control "max-age=7200, private, must-revalidate" </filesmatch> # Cache PDFs for a day <filesmatch "\.(pdf)$"> Header set Cache-Control "max-age=86400, public" </filesmatch> # Cache Javascripts for 31 days <filesmatch "\.(js)$"> Header set Cache-Control "max-age=2678400, private" </filesmatch> </ifmodule>
WordPress sistemini kullanıyorsanız, Önbellek işlemini sizin için halleden eklentileri bu yazımızda bulabilirsiniz; WordPress İçin En İyi Cache Eklentileri