
Temiz URL'ler, yönlendirmeler, erişim kısıtlamaları ve önbellek başlıkları — bunların tamamı yapılandırma dosyalarıyla yönetilir. Hangi dosyayı kullanacağınız işletim sistemine göre değişir: Linux barındırma tarafında .htaccess, Windows barındırma tarafında web.config.
Bu rehber, iki dosyanın da yaptığı işleri, aralarındaki farkları ve en sık yapılan hataları anlatıyor.
İki Dosya, Aynı İşler
| Özellik | .htaccess (Linux) | web.config (Windows) |
|---|---|---|
| Biçim | Satır tabanlı direktifler | XML |
| Hata toleransı | Hatalı satır 500 verir | Geçersiz XML 500 verir |
| Dizin bazlı | Evet, her dizinde ayrı olabilir | Evet |
| Yeniden başlatma | Gerekmez, anında etkili | Gerekmez |
| Otomatik dönüşüm | Yok — kurallar elle çevrilmelidir | |
Son satır, platform değiştiren hosting taşımalarında en çok soruna yol açan gerçektir. Kurallar otomatik dönüşmez ve bu atlandığında tipik belirti şudur: ana sayfa açılır, iç sayfaların tamamı 404 verir.
Bu Dosyalarla Neler Yapılır?
1. Temiz URL'ler
Modern içerik yönetim sistemleri, tüm istekleri tek bir giriş dosyasına yönlendirip adresi orada çözümler. Bu yönlendirme kuralı olmadan yalnızca ana sayfa çalışır. Kurulum sırasında sistem bu kuralı genellikle otomatik yazar — ancak sunucu yapılandırması izin vermiyorsa sessizce başarısız olur.
2. Kalıcı Yönlendirmeler
İçerik taşındığında eski adresi yenisine yönlendirmek, hem ziyaretçiyi hem arama motoru sinyallerini korur. İki kritik nokta:
- Kalıcı taşımada 301 kullanın. Geçici (302) yönlendirme, arama motoruna "eski adres hâlâ geçerli" der ve sinyaller aktarılmaz.
- Zincir oluşturmayın. A→B→C şeklinde zincirlenmiş yönlendirmeler gecikme ekler ve sinyal aktarımını zayıflatır. Doğrudan A→C yazın.
3. HTTPS ve Kanonik Adres Yönlendirmesi
Dört adres varyantını (http/https, www/www'siz) tek kanonik adrese yönlendiren kural burada tanımlanır. Kural yazıldıktan sonra dört varyantı da test edin ve her birinin tek adımda hedefe gittiğini doğrulayın.
4. Erişim Kısıtlama
Hassas dosya ve dizinlere web üzerinden erişimi engellemek en yüksek getirili kullanımlardan biridir. Engellenmesi gerekenler: yapılandırma dosyaları, yedek arşivleri, veritabanı dökümleri, sürüm kontrolü dizinleri ve log dosyaları.
Ayrıca yükleme dizinlerinde betik çalıştırmayı engelleyin. Bu tek kural, yüklenen zararlı bir dosyanın çalıştırılmasını önler ve en yaygın site ele geçirme yöntemlerinden birini kapatır.
5. Önbellek ve Sıkıştırma Başlıkları
Statik dosyalara uzun ömürlü tarayıcı önbelleği tanımlamak ve metin kaynaklarını sıkıştırmak da bu dosyalarda yapılır. İkisi de birkaç satırdır ve etkileri anında ölçülebilir.
En Sık Yapılan Beş Hata
- Yedek almadan düzenlemek. Bu dosyalardaki tek bir sözdizimi hatası siteyi tamamen 500 hatasına düşürür. Düzenlemeden önce mutlaka bir kopyasını alın — geri dönüş yolunuz odur.
- Kural sırasını yanlış kurmak. Kurallar yukarıdan aşağıya işlenir. Genel bir kuralı özel bir kuralın üstüne koyarsanız, özel kural hiç çalışmaz.
- Yönlendirme döngüsü oluşturmak. Birbirini işaret eden iki kural, tarayıcının "çok fazla yönlendirme" hatası vermesine yol açar. Genellikle HTTPS ve www kurallarının çakışmasından doğar.
- 301'i erken kullanmak. Kalıcı yönlendirmeler tarayıcı tarafından önbelleğe alınır. Test aşamasında 301 kullanıp sonra fikir değiştirirseniz, ziyaretçilerin tarayıcısı eski kuralı hatırlamaya devam eder. Test ederken geçici yönlendirme kullanın.
- Sistemin yazdığı bloğu elle düzenlemek. İçerik yönetim sistemleri kendi kural bloklarını yönetir ve güncellemede yeniden yazar. Kendi kurallarınızı o bloğun dışına yazın.
Performans Notu
Linux tarafında sunucu, her istekte istenen dizinden yukarı doğru tüm dizinlerde .htaccess arar. Bu, dizin bazlı yapılandırmanın bedelidir ve derin dizin yapılarında ölçülebilir bir maliyet üretir.
Pratik sonuç: kuralları mümkün olduğunca kök dizinde toplayın, her alt dizine ayrı dosya koymaktan kaçının. Kendi sunucunuzu yönetiyorsanız bu dosyaları tamamen devre dışı bırakıp kuralları merkezi yapılandırmaya taşımak daha verimlidir — ancak paylaşımlı barındırmada bu seçenek yoktur.
Değişiklik Sonrası Test
Her düzenlemeden sonra şu beşini kontrol edin:
- Ana sayfa açılıyor mu?
- Bir iç sayfa açılıyor mu? (Temiz URL kuralı çalışıyor mu?)
- Sorgu parametreli bir adres çalışıyor mu?
- Dört adres varyantı tek adımda kanonik adrese gidiyor mu?
- Engellemek istediğiniz dosya gerçekten engellendi mi?
Son madde özellikle önemlidir: engelleme kuralı yazdığınızı sanıp yazmamış olmak, kural hiç yazmamaktan daha tehlikelidir çünkü korunduğunuzu sanırsınız. Tarayıcıdan doğrudan o dosyanın adresini açmayı deneyin.
Sonuç
Yönlendirme yapılandırma dosyaları küçük ama etkili araçlardır: temiz URL'ler, kanonik adres yönlendirmesi ve hassas dosyaların engellenmesi bu birkaç satırla yapılır. Aynı güç, tek bir sözdizimi hatasının siteyi tamamen düşürebilmesi anlamına da gelir. İki alışkanlık bu riski ortadan kaldırır: düzenlemeden önce yedek almak ve değişiklikten sonra beş maddelik kontrolü yapmak.
Sıkça Sorulan Sorular (SSS)
Dosyayı düzenledim, site 500 hatası veriyor
Sözdizimi hatası var. Yedeğinizi geri yükleyin, sonra değişikliği satır satır ekleyerek hangisinin soruna yol açtığını bulun. Yedek almadıysanız dosyayı geçici olarak yeniden adlandırıp siteyi ayağa kaldırın, ardından kuralları yeniden yazın.
Linux kurallarımı Windows'a nasıl çeviririm?
Elle. Otomatik dönüştürme araçları basit yönlendirmelerde işe yarar ama koşullu ve karmaşık kuralları güvenilir biçimde çeviremez. Çevirdikten sonra beş maddelik kontrolü mutlaka uygulayın.
Çok fazla yönlendirme kuralı performansı etkiler mi?
Her istek tüm kuralları değerlendirdiği için çok sayıda kural ölçülebilir bir maliyet üretir. Yüzlerce eski adres yönlendirmesi biriktiyse, en çok kullanılanları üste alın ve artık trafik almayan eski kuralları temizleyin.
301 mi 302 mi kullanmalıyım?
Taşıma kalıcıysa 301 — arama motoru sinyalleri yeni adrese aktarılır. Geçici bir durum içinse (bakım, kampanya sayfası) 302. Test aşamasında da 302 kullanın; 301 tarayıcı tarafından önbelleğe alınır ve fikir değiştirmeniz zorlaşır.