htaccess Nedir? Nasıl Kullanılır?

Web sitenizin performansını, güvenliğini ve yönlendirme yapılarını kontrol edebilmenizi sağlayan en güçlü araçlardan biri .htaccess dosyasıdır. Birçok geliştirici ya da site yöneticisi için karmaşık gibi görünse de, aslında web sitenizin kaderini belirleyebilecek kadar etkili bir dosyadır.

.htaccess Dosyası Nedir?

“.htaccess”, İngilizce açılımıyla HyperText Access (hipermetin erişimi) anlamına gelir. Bu dosya, Apache web sunucusu üzerinde çalışan web sitelerinde erişim kurallarını, yönlendirmeleri, güvenlik önlemlerini ve hata sayfalarını yönetmek için kullanılır.

Genellikle public_html klasörüne yerleştirilen bu dosya, tek bir dosya ile web sitenizin birçok yönünü yönetmenizi sağlar.
Basit bir örnek vermek gerekirse:

  • Bir sayfa taşındığında eski bağlantıların yeni adrese yönlendirilmesi,

  • 404 hata sayfalarının düzenlenmesi,

  • Giriş sayfalarının şifrelenmesi,

  • Dosya erişim izinlerinin belirlenmesi
    gibi görevlerin tamamı htaccess dosyasında tanımlanabilir.


.htaccess Dosyasının Kullanım Amacı

.htaccess dosyası, sunucu düzeyinde değişiklik yapmadan birçok ayarı kontrol etmenizi sağlar. Özellikle paylaşımlı hosting kullanan kullanıcılar için, Apache'nin ana yapılandırma dosyalarına erişim mümkün olmadığından .htaccess, adeta bir yönetim paneli görevi görür.

Bu dosya sayesinde:

  • Hata sayfalarıyla ilgili özel yönlendirmeler oluşturabilir,

  • 301 kalıcı yönlendirme veya 302 geçici yönlendirme tanımlayabilir,

  • Dosya erişimi kısıtlayabilir,

  • URL yeniden yazımı (URL rewrite) yaparak daha SEO uyumlu bağlantılar elde edebilirsiniz.

Kısacası, htaccess dosyası web sitenizin görünmeyen ama en önemli yapı taşlarından biridir.


.htaccess Dosyası Nasıl Oluşturulur?

Bir .htaccess dosyası oluşturmak son derece basittir.
Bunun için:

  1. Bilgisayarınızda Not Defteri ya da herhangi bir metin editörünü açın.

  2. Dosyayı boş bırakın ya da içerisine ihtiyacınıza göre birkaç satır kod yazın.

  3. Kaydederken dosya adını “.htaccess” olarak belirleyin (önünde mutlaka nokta olacak).

  4. Daha sonra bu dosyayı public_html klasörüne yükleyin.

Eğer bir CMS (örneğin WordPress) kullanıyorsanız, zaten otomatik olarak bir htaccess dosyanız vardır.
Ancak siz de gerektiğinde düzenleme yapabilir, özel yönlendirmeler ekleyebilirsiniz.


Hata Sayfalarını Yönetmek (.htaccess Error Pages)

Ziyaretçileriniz bir sayfayı bulamadığında ya da erişim izni olmadığında, varsayılan olarak sunucunun gösterdiği sade hata sayfalarıyla karşılaşır. Bunları markanıza ve sitenizin tasarımına uygun hale getirmek için htaccess dosyasında hata sayfası yönlendirmesi tanımlayabilirsiniz.

Örneğin:

ErrorDocument 404 /404.html
ErrorDocument 403 /403.html
ErrorDocument 500 /500.html

Bu kodlar, web sitenizdeki hata durumlarında kullanıcıyı kendi hazırladığınız özel sayfalara yönlendirir. Yani artık kullanıcı 404 sayfa hatası aldığında, şık bir “Sayfa Bulunamadı” tasarımınızla karşılaşır.

Bu yöntemle hem kullanıcı deneyimini artırır, hem de SEO açısından sitenizin bütünlüğünü korumuş olursunuz.


301 Yönlendirmesi Nedir? (.htaccess ile Yönlendirme)

Web sitenizde bir sayfa taşındığında ya da URL yapınız değiştiğinde, eski bağlantılar hâlâ indeksli kalabilir. Bu durumda kullanıcılar “sayfa bulunamadı” hatası görebilir. Bunu önlemenin en kolay yolu, 301 yönlendirmesi yapmaktır.

.htaccess dosyasına şu kodu ekleyebilirsiniz:

Redirect 301 /eski-sayfa.html https://www.siteadresiniz.com/yeni-sayfa.html

Bu komut, eski sayfanıza gelen tüm trafiği kalıcı olarak yeni sayfaya yönlendirir. Arama motorları da bu yönlendirmeyi fark eder ve sıralama değerlerini yeni sayfaya aktarır.


URL Yeniden Yazma (RewriteRule) Kullanımı

Bir web sitesinin SEO başarısı için temiz, okunabilir URL'ler büyük önem taşır.

Örneğin:

https://www.site.com/?sayfa=urun&id=25 yerine
https://www.site.com/urun/25 gibi bir bağlantı çok daha kullanıcı dostudur.

Bu işlem için rewritecond ve rewriterule komutlarını kullanırız.

Örnek:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^urun/([0-9]+)/?$ urun.php?id=$1 [L]

Bu kod, rewritecond request satırıyla gelen isteğin bir dosya ya da klasör olmadığını kontrol eder. Sonrasında rewrite rule ile URL'yi istediğiniz biçime dönüştürür.

RewriteCond http referer komutuyla, referans kaynaklarına göre erişim kontrolü de yapabilirsiniz. Örneğin sitenizdeki görsellerin başka sitelerde kullanılmasını engellemek istiyorsanız:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https://(www\.)?siteadresiniz\.com [NC]
RewriteRule \.(jpg|png|gif)$ - [F]

Bu şekilde rewritecond http referer sayesinde dış bağlantılardan gelen istekleri engelleyebilir, dosya erişimi kontrolünü elinizde tutabilirsiniz.


.htaccess ile Güvenlik Ayarları

.htaccess sadece yönlendirmeler için değil, aynı zamanda güvenlik önlemleri için de kullanılır. Örneğin, yönetim panelinize sadece belirli IP adreslerinden erişilmesini sağlayabilir veya gizli dosyaları göster özelliğini kapatabilirsiniz.

Örnek:

Options -Indexes

Bu satır, klasör içinde index.html veya index.php yoksa dosya listesinin görüntülenmesini engeller.

Bir diğer örnek ise belirli bir klasörü kullanıcı adı ve şifreyle korumaktır:

AuthType Basic
AuthName "Korunan Alan"
AuthUserFile /home/kullaniciadi/.htpasswd
Require valid-user

Bu komutlarla kullanıcı adı ve şifrenizi tanımlayarak sadece yetkili kişilerin erişmesine izin verebilirsiniz.


www Yönlendirmesi ve HTTPS Zorlaması

SEO açısından web sitenizin tek bir sürüm üzerinden çalışması gerekir. Yani hem “www.siteadresiniz.com hem de “siteadresiniz.com” adresleri aynı yere yönlenmelidir.

Ayrıca HTTPS zorlamasıyla sitenizin güvenli bağlantı üzerinden çalışmasını sağlayabilirsiniz:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^siteadresiniz\.com [NC]
RewriteRule ^(.*)$ https://www.siteadresiniz.com/$1 [L,R=301]

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Burada rewritecond http host parametresiyle gelen isteğin host bilgisini kontrol ederiz. Sonrasında L, R=301 parametreleriyle kalıcı yönlendirme işlemi yapılır.


.htaccess Dosyasında Dikkat Edilmesi Gerekenler

.htaccess güçlü bir dosyadır ama küçük bir hata bile web sitenizin çökmesine neden olabilir. Bu yüzden düzenleme yapmadan önce daima yedek alın.

Dikkat etmeniz gereken bazı noktalar:

  • Kodlarda fazladan boşluk bırakmayın.

  • Dosya adını yanlış yazmayın (.htaccess olmalı).

  • Sunucunuzun Apache olduğundan emin olun.

  • Kod satırlarını doğru sırada yazın.

  • Değişiklik sonrası tarayıcı önbelleğini temizleyin.

Unutmayın, bazen en kolay yolu, örnek kodları doğrudan kopyalamak yerine ne işe yaradığını anlamaktır. Ne yaptığınızı bilirseniz, hata yaptığınızda düzeltmesi de o kadar kolay olur.


Sık Kullanılan .htaccess Kod Örnekleri

1. IP Engelleme

Order Allow,Deny
Deny from 192.168.1.1
Allow from all

2. Belirli Dosya Türlerine Erişimi Engelleme

<FilesMatch "\.(ini|log|sh)$">
Order allow,deny
Deny from all
</FilesMatch>

3. Varsayılan Dosya Belirleme

DirectoryIndex index.php index.html

Bu kodlarla web sitenizin işleyişini daha güvenli ve kontrollü hale getirebilirsiniz.


SEO Açısından .htaccess'in Önemi

Arama motorları, temiz URL yapısı ve hızlı erişim ister.
.htaccess dosyası bu konuda size inanılmaz avantaj sağlar:

  • Gereksiz parametrelerden arınmış SEO dostu URL'ler,

  • 404 sayfa yönlendirmeleriyle daha iyi kullanıcı deneyimi,

  • 301 yönlendirmeleri sayesinde link otoritesinin korunması,

  • HTTPS güvenliğiyle artan sıralama değeri.

Tüm bu düzenlemeler, Google'ın sitenizi daha kolay anlamasına ve daha üst sıralara taşımasına yardımcı olur.


Küçük Bir Dosya, Büyük Bir Güç

Gördüğünüz gibi, .htaccess dosyası oluşturmak ve doğru şekilde yapılandırmak, web sitenizin başarısında çok önemli bir rol oynar. Basit bir metin dosyası gibi görünse de, web sitenizin hızından güvenliğine, SEO performansından kullanıcı deneyimine kadar her alanda etkili olur.

Eğer siz de web sitenizin yönetimini güçlendirmek, profesyonel yönlendirmeler yapmak ve SEO yapınızı sağlamlaştırmak istiyorsanız, mutlaka htaccess dosyasında bu örnekleri uygulayın.

Unutmayın, dijital dünyada güçlü olmak sadece tasarım değil, altyapı yönetiminde de fark yaratmakla mümkündür. Profesyonel destek ve güçlü altyapı çözümleri için, alanında uzman bir Antalya web tasarım ekibiyle çalışmak web sitenizi bir adım öne taşır.