1. .htaccess Nedir ve Neden Önemlidir?

Apache web sunucularının en çok kullanılan yapılandırma dosyası .htaccess’dir. Bu dosya, bir dizin seviyesinde sunucu davranışlarını kontrol etmenizi sağlar; yani her klasör için ayrı kurallar ekleyebilir ve bu kurallar anında uygulanır. Özellikle paylaşımlı hosting ortamlarında httpd.conf dosyasına erişim mümkün olmadığından .htaccess, yönlendirme, erişim kontrolü ve performans iyileştirmeleri için vazgeçilmez bir araçtır.
Yanlış yapılandırılmış .htaccess, sitenizin %30’a varan yavaşlamasına, 404 hatalarına ve hatta güvenlik açıklarına neden olabilir. Örneğin, hatalı bir RewriteRule döngüsü sunucu kaynaklarını tüketerek CPU kullanımını %70 artırabilir. Bu nedenle .htaccess’i düzenlerken dikkatli olmak ve her değişikliği test ortamında denemek kritik öneme sahiptir.
Bu makalede, .htaccess’in temel kavramlarını, yaygın hatalarını ve nasıl etkili bir şekilde kullanılacağını adım adım inceleyeceğiz. Ayrıca, web hosting paketleri seçiminde .htaccess desteğinin nasıl bir fark yaratacağını da ele alacağız.
2. Temel .htaccess Direktifleri ve Söz Dizimi
.htaccess dosyası, Apache modüllerinin sunduğu direktifleri satır satır içerir. En sık kullanılan direktifler şunlardır:
RewriteEngine On– URL yeniden yazma motorunu etkinleştirir.RewriteCondveRewriteRule– Koşullu yönlendirmeler ve kalıcı (301) ya da geçici (302) yönlendirmeler oluşturur.Redirect– Basit yönlendirmeler için kullanılır.ErrorDocument– 404, 500 gibi hata sayfalarını özelleştirir.Options– Dizin listelenmesi, takip etme gibi özellikleri kontrol eder.AllowOverride– Hangi direktiflerin .htaccess içinde geçerli olduğunu belirler (genellikleAll).
Direktifler büyük/küçük harfe duyarlıdır ve her satırın sonunda # ile yorum eklenebilir. Örneğin, # SEO için kalıcı yönlendirme gibi. Bu yapı, dosyanın okunabilirliğini artırır ve ekip içinde iş birliğini kolaylaştırır.
İlk 100 kelime içinde .htaccess anahtar kelimesinin birden fazla kez geçmesi, arama motorları için konunun önemini vurgular ve SEO performansını olumlu etkiler.
3. SEO Dostu URL Yeniden Yazma (Rewrite) Kuralları
Arama motorları, temiz ve anlaşılır URL’leri tercih eder. Dinamik URL’ler (index.php?id=123) yerine /urun/123/urun-adi gibi yapılandırmalar, tıklama oranını %25 artırabilir. Aşağıdaki örnek, bir e‑ticaret sitesinde ürün sayfalarını SEO‑friendly hâle getirir:
# SEO dostu URL
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^urun/([0-9]+)/([a-z0-9-]+)/?$ /urun.php?id=$1&slug=$2 [L,QSA,R=301]
Bu kural, gerçek dosya ya da klasör olmayan istekleri urun.php dosyasına yönlendirir ve aynı zamanda 301 kalıcı yönlendirme yaparak arama motorlarına yeni URL’nin kalıcı olduğunu bildirir. e-ticaret hosting hizmeti alırken, bu tür .htaccess optimizasyonlarının desteklenip desteklenmediğini kontrol etmek faydalı olacaktır.
4. Performans Artırıcı Teknikler: Sıkıştırma ve Önbellekleme

Web sayfalarının hızlı yüklenmesi, kullanıcı deneyimi ve SEO için kritik bir faktördür. .htaccess üzerinden gzip sıkıştırma ve tarayıcı önbellekleme kuralları ekleyerek sayfa boyutlarını %40’a varan oranda azaltabilirsiniz.
| Teknik | Açıklama | Örnek .htaccess Kodu |
|---|---|---|
| Gzip Sıkıştırma | Metin dosyalarını (HTML, CSS, JS) sıkıştırır. | AddOutputFilterByType DEFLATE text/html text/css application/javascript |
| Tarayıcı Önbelleği | Statik dosyaların tarayıcıda saklanmasını sağlar. | ExpiresActive On |
| Etag Kaldırma | Sunucu yükünü azaltır. | Header unset ETag |
Bu kurallar, özellikle AMD Ryzen VDS sunucular gibi yüksek performanslı ortamlarla birleştiğinde, ortalama sayfa yükleme süresini 2 saniyeden 1.2 saniyeye düşürebilir. Ayrıca, Cache-Control ve Expires başlıkları sayesinde CDN entegrasyonu da sorunsuz çalışır.
5. Güvenlik Önlemleri: IP Kısıtlama, Hotlink Koruması ve WAF Entegrasyonu
Web sitenizi korumak için .htaccess’te IP bazlı erişim kontrolü ve hotlink önleme kuralları ekleyebilirsiniz. Örneğin, yönetim paneline sadece belirli IP’lerin erişmesine izin vermek, brute‑force saldırılarını %60 azaltır.
# Yönetim paneline sadece belirli IP’ler
Order Deny,Allow
Deny from all
Allow from 203.0.113.45
Hotlink koruması ise diğer sitelerin sizin resimlerinizi doğrudan kullanmasını engeller:
# Hotlink koruması
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?ornekdomain\.com/ [NC]
RewriteRule \.(jpe?g|png|gif)$ - [F,NC,L]
Ek olarak, WAF güvenlik duvarı hizmetiyle .htaccess’in sağladığı temel korumayı katmanlı bir güvenlik modeliyle birleştirerek zero‑day saldırılarına karşı daha dayanıklı bir yapı kurabilirsiniz.
6. Hata Sayfaları ve Kullanıcı Deneyimi
404, 500 gibi hata sayfaları, kullanıcıların siteden tamamen çıkmasını engelleyen kritik bir noktadır. .htaccess ile özelleştirilmiş hata sayfaları tanımlayarak ziyaretçiyi başka bir içeriğe yönlendirebilir ve çıkış oranını %15 azaltabilirsiniz.
# Özel hata sayfaları
ErrorDocument 404 /404.html
ErrorDocument 500 /500.html
Bu sayfalarda, arama çubuğu, önerilen içerikler ve iletişim bilgileri ekleyerek ziyaretçiyi yeniden site içinde tutmak mümkündür. Özellikle kurumsal e-posta adresinizi hata sayfasına eklemek, kullanıcıların destek almasını kolaylaştırır.
7. .htaccess Dosyasını Yönetme ve Yaygın Hatalardan Kaçınma
.htaccess dosyasını düzenlerken aşağıdaki en yaygın hatalardan kaçınmalısınız:
- Yanlış dosya izinleri: Dosya 644 yerine 777 olarak ayarlandığında güvenlik riski oluşur.
- Boş satır veya yanlış yorum: Apache, hatalı yorumları göz ardı edebilir ve kuralların çalışmasını engeller.
- Modül eksikliği:
mod_rewriteetkin değilse Rewrite kuralları hiç çalışmaz. - Çakışan kurallar: Birden fazla
Redirectaynı URL’ye yönlendirme yaparsa döngü oluşur.
Bu hataları önlemek için, değişiklik sonrası apachectl -t komutuyla konfigürasyonu test edebilir ve error_log dosyasını inceleyebilirsiniz. Ayrıca, fiziksel sunucu (dedicated server) kullanıyorsanız, AllowOverride None ayarını kontrol ederek .htaccess’in etkili olduğundan emin olun.
Sıkça Sorulan Sorular
.htaccess dosyası ne zaman kullanılmalı?
.htaccess, Apache sunucusunda dizin bazlı yapılandırma gerektiğinde, özellikle paylaşımlı hosting ortamlarında httpd.conf erişimi olmadığında tercih edilmelidir.
RewriteRule ile 301 yönlendirme nasıl yapılır?
RewriteEngine On satırından sonra RewriteRule ^eski-url$ /yeni-url [L,R=301] şeklinde bir kural eklenir. Bu, arama motorlarına kalıcı yönlendirme sinyali gönderir.
Gzip sıkıştırma .htaccess ile nasıl etkinleştirilir?
Apache’nin mod_deflate modülünün yüklü olması gerekir. AddOutputFilterByType DEFLATE text/html text/css application/javascript satırı eklenerek sıkıştırma aktif hâle gelir.
.htaccess dosyasını nerede saklamalıyım?
Dosya, web kök dizini (public_html) veya alt klasörlerde, ilgili klasörün içinde .htaccess adıyla bulunmalıdır. Dosyanın adının başında nokta olduğuna dikkat edin.
Sonuç: .htaccess ile Web Sitenizi Optimize Edin
Apache .htaccess, doğru kullanıldığında SEO, güvenlik ve performans açısından büyük bir avantaj sağlar. Bu makalede ele aldığımız 7 adımı uygulayarak, sitenizin hızını %40 artırabilir, güvenlik açıklarını minimize edebilir ve arama motorlarındaki görünürlüğünü yükseltebilirsiniz. İlk adım olarak, mevcut .htaccess dosyanızı yedekleyin, ardından yukarıdaki kuralları test ortamında deneyin. Her değişiklik sonrası apachectl -t ile yapılandırma hatalarını kontrol etmeyi unutmayın.
Eğer daha güçlü bir altyapıya ihtiyaç duyuyorsanız, VDS sunucu paketleri veya SEO hosting seçeneklerini inceleyerek .htaccess’in sunduğu esnekliği tam anlamıyla değerlendirebilirsiniz. Unutmayın, teknik optimizasyonların yanı sıra düzenli içerik üretimi ve backlink çalışmaları da SEO başarınızı tamamlayacak unsurlardır.