Tanım
.htaccess (hypertext access), Apache ve LiteSpeed web sunucularında bir dizine ve alt dizinlerine özel yapılandırma kuralları tanımlamaya yarayan gizli metin dosyasıdır. Sunucunun ana yapılandırmasına erişmeden yönlendirme, URL yeniden yazma, erişim kısıtlama, önbellek ve güvenlik başlığı ayarları yapılmasını sağlar; Nginx bu dosyayı okumaz.
.htaccess ile neler yapılabilir?
.htaccess dosyası, sitenin kök dizinine ya da herhangi bir alt dizine konarak o dizinde geçerli kurallar tanımlar. Sık kullanılan örnekler:
# Dizin listelemeyi kapat
Options -Indexes
# Özel 404 sayfası
ErrorDocument 404 /404.html
# Eski sayfayı kalıcı olarak yeni adrese yönlendir
Redirect 301 /eski-sayfa /yeni-sayfa
# Yapılandırma dosyasına erişimi engelle
<Files "wp-config.php">
Require all denied
</Files>URL yeniden yazma (RewriteRule) için mod_rewrite modülü kullanılır; WordPress’in kalıcı bağlantıları ve HTTP’den HTTPS’e yönlendirme bu yolla yapılır. Ayrıntılı örnekler .htaccess kullanımı rehberindedir.
.htaccess hataları nasıl giderilir?
.htaccess’teki tek bir sözdizimi hatası tüm sitenin 500 Internal Server Error vermesine neden olabilir. Sorun yaşadığınızda dosyayı yeniden adlandırarak (ör. .htaccess.bak) devre dışı bırakın; site açılıyorsa hata bu dosyadadır ve kuralları tek tek geri ekleyerek sorunlu satırı bulabilirsiniz. Sunucunun hata günlüğü genellikle hatalı satırı belirtir. Sunucuda izin verilmeyen bir yönerge kullanıldığında da aynı hata alınır. Dosya noktayla başladığı için dosya yöneticisinde gizli dosyaları gösterme seçeneğini açmanız gerekebilir. Nginx kullanan sunucularda .htaccess kuralları etkisizdir; bunların sunucu yapılandırmasına çevrilmesi gerekir. Hata çözüm adımları için 500 Internal Server Error çözümü ve 403 Forbidden hatası rehberlerine bakabilirsiniz.