hosting

Yönlendirme Kuralları Rehberi: .htaccess ve web.config ile Ne Yapılır?

Linux ve Windows hosting'de yönlendirme kuralları: temiz URL, 301 yönlendirme, erişim kısıtlama, önbellek başlıkları ve beş yaygın hata. Yönlendirme…

Yönlendirme Kuralları Rehberi: .htaccess ve web.config ile Ne Yapılır?
İçindekiler
  1. İki Dosya, Aynı İşler
  2. Bu Dosyalarla Neler Yapılır?
  3. 1. Temiz URL'ler
  4. 2. Kalıcı Yönlendirmeler
  5. 3. HTTPS ve Kanonik Adres Yönlendirmesi
  6. 4. Erişim Kısıtlama
  7. 5. Önbellek ve Sıkıştırma Başlıkları
  8. En Sık Yapılan Beş Hata
  9. Performans Notu
  10. Değişiklik Sonrası Test
  11. Sonuç
  12. Sıkça Sorulan Sorular (SSS)
  13. Dosyayı düzenledim, site 500 hatası veriyor
  14. Linux kurallarımı Windows'a nasıl çeviririm?
  15. Çok fazla yönlendirme kuralı performansı etkiler mi?
  16. 301 mi 302 mi kullanmalıyım?

Yönlendirme Kuralları Rehberi: .htaccess ve web.config ile Ne Yapılır?

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:

  1. Ana sayfa açılıyor mu?
  2. Bir iç sayfa açılıyor mu? (Temiz URL kuralı çalışıyor mu?)
  3. Sorgu parametreli bir adres çalışıyor mu?
  4. Dört adres varyantı tek adımda kanonik adrese gidiyor mu?
  5. 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.