.htaccess
(Hypertext Access) dosyası, Apache web sunucusu tarafından kullanılan yapılandırma dosyasıdır. Bu dosya, dizin bazında ayar yapmayı sağlar ve birçok farklı işlevi yerine getirebilir. .
ile başlaması, dosyanın gizli olduğunu gösterir. .htaccess
dosyası, güvenlik, yönlendirme, erişim kontrolü gibi işlemler için oldukça kullanışlıdır.
.htaccess Dosyasının Kullanım Alanları ve Örnekleri
1. Yönlendirmeler (Redirects)
301 Yönlendirmesi (Kalıcı Yönlendirme)
Kalıcı olarak bir sayfayı başka bir sayfaya yönlendirir. Bu, SEO açısından önemlidir çünkü arama motorları eski URL’nin yeni URL’ye taşındığını anlar.
<code>Redirect 301 /eski-sayfa.html http://www.ornek.com/yeni-sayfa.html<br></code>
302 Yönlendirmesi (Geçici Yönlendirme)
Geçici bir yönlendirme yapmak için kullanılır.
Redirect 302 /gecici.html http://www.ornek.com/gecici-yeni.html
2. Hata Sayfaları (Error Pages)
Özel hata sayfaları tanımlamak için kullanılır. Kullanıcılar belirli bir hata ile karşılaştığında, belirtilen sayfaya yönlendirilirler.
ErrorDocument 404 /404.html
ErrorDocument 500 /500.html
3. URL Yeniden Yazma (URL Rewriting)
URL’leri daha okunabilir hale getirmek veya SEO dostu URL’ler oluşturmak için kullanılır.
Basit Bir URL Yeniden Yazma Kuralı
RewriteEngine On
RewriteRule ^eski-urun$ yeni-urun.html [L]
Dinamik URL’leri Statik URL’lere Dönüştürmek
RewriteEngine On
RewriteRule ^urun/([0-9]+)$ urun-detay.php?id=$1 [L]
4. Erişim Kontrolü (Access Control)
Belirli IP adreslerine veya kullanıcı gruplarına erişimi kısıtlamak için kullanılır.
Belirli IP Adresini Engellemek
Order Allow,Deny
Deny from 123.456.789.000
Allow from all
Belirli Bir Dizi IP Adresine İzin Vermek
Order Allow,Deny
Allow from 123.456.789.000
Allow from 123.456.789.001
Deny from all
5. Dizin Listelemeyi Engellemek
Varsayılan olarak, bir dizinde index.html
veya index.php
gibi bir dosya yoksa, web sunucusu dizin içeriğini listeleyebilir. Bunu engellemek için:
Options -Indexes
6. MIME Tiplerini Ayarlamak
Belirli dosya türleri için MIME tiplerini ayarlayarak, dosyaların tarayıcıda doğru şekilde işlenmesini sağlayabilirsiniz.
AddType application/pdf .pdf
AddType image/jpeg .jpg .jpeg
7. Hotlink Koruması
Diğer sitelerin sizin bant genişliğinizi kullanarak dosyalarınızı doğrudan kendi sitelerinde göstermesini engellemek için kullanılır.
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?ornek.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [F]
8. GZIP Sıkıştırması
Web sayfalarının ve diğer içeriklerin sıkıştırılarak gönderilmesini sağlar, bu da yüklenme sürelerini kısaltır.
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/json
</IfModule>
9. Önbellekleme (Caching)
Tarayıcı önbellekleme süresini belirleyerek, sayfaların tekrar tekrar yüklenmesini engelleyebilir ve performansı artırabilirsiniz.
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType text/css "access plus 1 week"
ExpiresByType application/javascript "access plus 1 week"
ExpiresByType text/html "access plus 1 hour"
</IfModule>
Sonuç
.htaccess
dosyası, Apache web sunucusunda yapılandırma ve yönetim işlevlerini yerine getirmek için güçlü bir araçtır. Yukarıdaki örneklerde gösterildiği gibi, yönlendirmelerden erişim kontrollerine, hata sayfalarından dosya sıkıştırmasına kadar geniş bir yelpazede kullanılabilir. Bu dosyayı dikkatli ve doğru bir şekilde kullanmak, web sitenizin performansını ve güvenliğini artıracaktır.
Bir yanıt yazın