Web sitelerinin performansı, güvenliği ve yönlendirme yapısı üzerinde doğrudan etkili olan .htaccess dosyası, özellikle Apache sunucularda kritik bir yapılandırma aracıdır. Doğru yapılandırıldığında site hızını artırabilir, güvenlik açıklarını minimize edebilir ve SEO açısından önemli yönlendirmeleri yönetmenizi sağlar. Bu yazıda .htaccess dosyasının ne olduğunu ve en sık kullanılan .htaccess kodlarını detaylı şekilde ele alacağız.
.htaccess Nedir?
.htaccess, Apache web sunucularında dizin bazlı yapılandırma yapmayı sağlayan özel bir konfigürasyon dosyasıdır. Sunucu ana yapılandırma dosyasına erişim olmadan; yönlendirme (redirect), güvenlik kuralları, URL düzenleme (rewrite), IP engelleme, şifreleme, önbellekleme ve hata sayfası tanımlamaları gibi birçok işlem bu dosya üzerinden yönetilebilir.
Özellikle SEO açısından oldukça önemlidir. Örneğin:
-
HTTP’den HTTPS’ye yönlendirme
-
www’li – www’siz domain yönlendirmesi
-
301 kalıcı yönlendirmeler
-
Özel 404 hata sayfası tanımlama
-
Yetkisiz erişimlerin engellenmesi
gibi işlemler doğrudan .htaccess dosyası üzerinden yapılır.

WordPress gibi hazır CMS altyapılarında da .htaccess dosyası aktif olarak kullanılır ve kalıcı bağlantı (permalink) yapısı bu dosya aracılığıyla çalışır.
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]# Mevcut dosya veya klasör değilse index.php’ye yönlendir
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Bu Kod Ne İşe Yarar?
-
RewriteEngine On → URL yönlendirme motorunu aktif eder.
-
RewriteBase / → Ana dizini baz alır.
-
RewriteCond satırları → Eğer istenen dosya fiziksel olarak mevcut değilse devreye girer.
-
RewriteRule → Tüm istekleri WordPress’in çekirdeği olan index.php dosyasına yönlendirir.
En Çok Kullanılan .htaccess Kodları
Aşağıdaki örnekler Apache + WordPress kullanan sitelerde en sık ihtiyaç duyulan .htaccess kurallarıdır. (Kodları eklemeden önce mutlaka yedek almanı öneririm.)
1) HTTP → HTTPS Yönlendirme (SSL Zorunlu)
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
2) www → non-www Yönlendirme
www varsa kaldırır:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,R=301]
non-www → www yapmak istersen:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
3) Belirli Bir Sayfayı 301 ile Yönlendirme
Redirect 301 /eski-sayfa/ https://siteadresin.com/yeni-sayfa/
4) Tüm Siteyi Yeni Domaine Taşıma (301)
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?eskidomain\.com$ [NC]
RewriteRule ^(.*)$ https://yenidomain.com/$1 [L,R=301]
Görüldüğü üzere .htaccess dosyası; yönlendirmeden güvenliğe, performans iyileştirmelerinden SEO düzenlemelerine kadar birçok kritik işlemi tek bir noktadan yönetmenizi sağlar. Ancak bu dosyada yapılacak küçük bir hata sitenin tamamen erişilemez hale gelmesine neden olabilir. Bu nedenle düzenleme yapmadan önce mutlaka mevcut dosyanın yedeğini almalı ve değişiklikleri kontrollü şekilde uygulamalısınız. Doğru yapılandırılmış bir .htaccess dosyası, web sitenizin hem güvenliğini hem de performansını önemli ölçüde artıracaktır.