.htaccess Dosyası Nedir?

.htaccess Dosyası Nedir? Web Sunucunuzun Gizli Komuta Merkezi

Bir web sitesi oluşturduğunuzda, arka planda web sitenizin içeriğini ziyaretçilere sunan bir web sunucusu (en yaygın olanı Apache) çalışır. Bu sunucu, sayfa isteklerini nasıl işleyeceğini, hangi kuralları uygulayacağını ve sitenin nasıl davranacağını belirleyen bir dizi yapılandırma dosyasına dayanır. İşte bu dosyaların en önemlilerinden biri, özellikle web geliştiricileri ve site yöneticileri için çok güçlü bir araç olan .htaccess dosyasıdır.

.htaccess (Hypertext Access’in kısaltması), bir Apache web sunucusunun dizin bazlı yapılandırma dosyasıdır. Bu dosya, ana sunucu yapılandırma dosyasına (httpd.conf) erişimi olmayan kullanıcıların, sitelerinin belirli dizinleri veya tamamı için sunucu davranışını özelleştirmelerine olanak tanır. Genellikle bir web sitesinin kök dizininde bulunur, ancak alt dizinlere de yerleştirilebilir ve sadece bulunduğu dizini ve onun altındaki tüm dizinleri etkiler. Dosyanın adındaki nokta (.), Linux tabanlı işletim sistemlerinde gizli bir dosya olduğunu belirtir.

.htaccess Dosyasının Amacı ve Gücü

.htaccess dosyasının gücü, kullanıcıya sunucu düzeyinde kontrol imkanı vermesinden gelir. Bu dosya, web sitesinin nasıl çalıştığını, güvenlik kurallarını, URL yapılarını ve performansını doğrudan etkileyen bir dizi komut ve yönerge içerir.

Başlıca Kullanım Alanları ve İşlevleri:

  1. URL Yönlendirmeleri (Redirects): Bir sayfanın URL’i değiştiğinde veya sitenizin alan adı güncellendiğinde, eski URL’den yeni URL’e yönlendirme yapmak SEO için hayati önem taşır. .htaccess dosyası, ziyaretçileri ve arama motoru botlarını eski adreslerden yeni adreslere kalıcı veya geçici olarak yönlendirmek için en yaygın kullanılan araçtır.
    • Örnek: Redirect 301 /eski-sayfa.html /yeni-sayfa.html (301, kalıcı yönlendirme anlamına gelir).
  2. Kalıcı Bağlantı Yapıları (Permalinks): WordPress gibi dinamik İçerik Yönetim Sistemleri (CMS), veritabanından içerik çeker. .htaccess dosyası, bu dinamik URL’leri (örneğin ?p=123) daha anlaşılır ve SEO dostu hale getirmek için mod_rewrite modülünü kullanarak yeniden yazar (örneğin /hakkimizda/). WordPress’in kalıcı bağlantı ayarları, bu işlevi otomatik olarak bu dosyaya yazar.
  3. Güvenlik:.htaccess dosyası, web sitenizin güvenliğini artırmak için çok güçlü bir araçtır.
    • IP Adresi Engelleme: Belirli bir IP adresinden veya IP aralığından gelen erişimi engelleyerek sitenizi kötü niyetli kullanıcılardan veya botlardan koruyabilirsiniz.
    • Dosya ve Dizin Koruması: Hassas dosyaların (örneğin wp-config.php) veya tüm bir dizinin (örneğin yönetici panelinin) herkes tarafından erişilmesini engelleyebilirsiniz.
    • Sıcak Bağlantı (Hotlinking) Engelleme: Resimlerinizin veya diğer medya dosyalarınızın başka web sitelerinde izinsiz olarak kullanılarak sizin sunucu kaynaklarınızı tüketmesini engelleyebilirsiniz.
  4. Performans ve Önbellekleme (Caching):
    • Tarayıcı önbelleklemesi (Browser Caching) ayarları, tarayıcılara sitenizdeki dosyaları (CSS, JS, resimler) ne kadar süreyle önbelleğe almaları gerektiğini söyleyerek sayfaların sonraki ziyaretlerde daha hızlı yüklenmesini sağlar.
  5. Özel Hata Sayfaları: Sunucunun standart hata sayfaları (404 Sayfa Bulunamadı, 403 Erişime Engelli) yerine, ziyaretçilerinize daha bilgilendirici ve profesyonel görünen özel hata sayfaları oluşturabilirsiniz.
  6. PHP Sürüm ve Ayar Değişiklikleri: Hosting sağlayıcınız izin veriyorsa, .htaccess dosyası üzerinden PHP sürümünü değiştirebilir veya PHP belleği (memory_limit) gibi bazı temel ayarları düzenleyebilirsiniz.

.htaccess Dosyasının Yapısı ve WordPress Örneği

.htaccess dosyası, basit metin komutlarından oluşur. Her satır bir kuralı ifade eder.

WordPress‘in varsayılan .htaccess içeriği:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Bu kod bloğu, WordPress’in SEO dostu kalıcı bağlantılarının çalışmasını sağlar. Bu, dinamik URL’lerin (?p=123) hakkimizda gibi okunabilir URL’lere dönüştürülmesini sağlar. mod_rewrite.c modülünün etkinleştirilmesi, RewriteEngine’in açılması ve kural (RewriteRule) yazılması gibi adımları içerir. Bu kod bloğunu, WordPress’in kendisi otomatik olarak oluşturur ve korur.

Örnek bir 301 yönlendirmesi ekleme:

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

Örnek bir IP adresini engelleme:

Order allow,deny
Deny from 123.456.789.000
Allow from all

.htaccess Kullanımında Dikkat Edilmesi Gerekenler

.htaccess dosyası güçlü bir araç olsa da, yanlış kullanımı sitenizin çalışmasını durdurabilir veya güvenlik açıklarına yol açabilir.

  • Sözdizimi Hataları: Dosyada yapılacak küçük bir yazım hatası bile tüm sitenizin “500 Sunucu Hatası” vermesine neden olabilir.
  • Gizli Dosya: Dosya adı, başında bir nokta (.) ile başladığı için sunucu üzerinde varsayılan olarak gizlidir. FTP programınızın “gizli dosyaları göster” ayarını etkinleştirmeniz gerekebilir.
  • Performans Etkisi: .htaccess dosyası, her sayfa isteğinde sunucu tarafından yeniden işlenir. Çok sayıda karmaşık kural içeren büyük bir .htaccess dosyası, sunucunun performansını olumsuz etkileyebilir. Bu nedenle, karmaşık yapılandırmalar için ana sunucu yapılandırma dosyası (httpd.conf) tercih edilmelidir.

Sonuç

Apache .htaccess dosyası, özellikle paylaşımlı hosting kullanıcıları için web sitelerinin sunucu ayarlarını özelleştirme ve yönetme konusunda paha biçilmez bir araçtır. URL yönlendirmelerinden güvenlik önlemlerine, performans optimizasyonlarından özel hata sayfalarına kadar geniş bir yelpazede fonksiyonellik sunar. Her ne kadar dikkatli kullanılması gerekse de, .htaccess doğru ellerde bir web sitesini daha hızlı, daha güvenli ve SEO açısından daha optimize hale getiren gizli bir komuta merkezi görevi görür. WordPress gibi sistemlerin temelini oluşturan bu dosya, modern web sitelerinin dinamik ve esnek yapısının arkasındaki sessiz kahramanlardan biridir.

İçeriği Paylaş

Benzer Yazılar

Bir yanıt yazın