Kısaca: Hosts dosyası, bilgisayarınızın bir alan adını DNS'e sormadan önce baktığı, IP adresi ile alan adını eşleştiren düz bir metin dosyasıdır. Sitenizi yeni bir sunucuya taşırken bu dosyaya tek satır ekleyerek, DNS kayıtlarını değiştirmeden ve ziyaretçileri etkilemeden siteyi yalnızca kendi bilgisayarınızda yeni sunucudan açıp test edebilirsiniz.
Bu yöntem en çok hosting değiştirme sırasında işe yarar: dosyaları ve veritabanını yeni sunucuya aktardıktan sonra, alan adını yönlendirmeden önce her şeyin çalıştığından emin olursunuz.
Hosts dosyası her satırda bir IP adresi ve onun karşısında bir veya daha fazla alan adı içerir. Linux'taki hosts(5) belgesine göre satır biçimi "IP adresi, ana ad, varsa diğer adlar" şeklindedir ve alanlar boşluk veya sekmeyle ayrılır. "#" işaretinden sonra gelen her şey açıklama sayılır.
Tarayıcı ve ping gibi sistemin ad çözümleyicisini kullanan programlar, bir adresi DNS'e sormadan önce bu dosyaya bakar. Dosyada eşleşme varsa DNS'te yazan IP adresi o bilgisayar için devre dışı kalır. Değişiklik yalnızca dosyayı düzenlediğiniz bilgisayarı etkiler; diğer ziyaretçiler siteyi DNS'te ne yazıyorsa oradan görmeye devam eder.
Aşağıdaki örneklerde yeni sunucu için belgelerde kullanılmak üzere ayrılmış 203.0.113.10 adresini ve örnek alan adı olarak example.com'u kullanıyoruz. Bunları kendi IP adresiniz ve alan adınızla değiştirin.

1. Başlat menüsünde Not Defteri'ni bulun, sağ tıklayıp Yönetici olarak çalıştır'ı seçin. Microsoft'un belgesine göre yönetici olarak açılmayan bir düzenleyici dosyayı kaydederken erişim hatası verir.
2. Not Defteri'nde şu dosyayı açın: C:\Windows\System32\drivers\etc\hosts. Dosyanın uzantısı olmadığı için açma penceresinde tüm dosyaları gösterecek şekilde filtreyi değiştirmeniz gerekebilir.
3. Dosyanın en altına şu iki satırı ekleyin:
203.0.113.10 example.com203.0.113.10 www.example.com
4. Dosyayı kaydedin, ardından Komut İstemi'nde ipconfig /flushdns komutuyla DNS önbelleğini temizleyin.
Linux ve macOS'ta dosya /etc/hosts konumundadır ve sudo ile düzenlenir. Linux'ta örneğin sudo nano /etc/hosts komutuyla açıp aynı iki satırı ekleyin ve kaydedin. systemd-resolved kullanan dağıtımlarda önbelleği resolvectl flush-caches ile temizleyebilirsiniz. macOS'ta Terminal'de dosyayı sudo ile açıp aynı satırları ekleyin; değişiklik görünmezse tarayıcıyı tamamen kapatıp yeniden açın.
| Sistem | Komut | Ne görmelisiniz? |
|---|---|---|
| Windows | ping example.com | Yanıt satırlarında yeni sunucunun IP adresi |
| Linux | getent hosts example.com | Satırın başında yeni sunucunun IP adresi |
| macOS | ping example.com | Yanıt satırlarında yeni sunucunun IP adresi |
Burada nslookup veya dig kullanmayın: bu araçlar sorguyu doğrudan DNS sunucusuna gönderir, hosts dosyasını hesaba katmaz ve size eski IP adresini gösterir. DNS tarafını kontrol etmek istediğinizde ise dig ve nslookup ile DNS kontrolü rehberimiz işinize yarar. IP doğruysa tarayıcıda sitenizi açın; sayfaları, formları ve yönetim panelini deneyin.
Yeni sunucuda alan adınız için henüz sertifika yoksa tarayıcı güvenlik uyarısı gösterebilir. Let's Encrypt gibi otomatik sertifikalar, HTTP-01 doğrulamasında alan adınız üzerinden 80. porttan bir doğrulama dosyasına erişir; sizin hosts dosyanız bu kontrolü etkilemez. Bu yüzden otomatik sertifika genellikle DNS yeni sunucuya yönlendirildikten sonra alınır. Sertifikalar hakkında ayrıntı için SSL sertifikası nedir rehberine bakabilirsiniz.
Her şey çalışıyorsa alan adının DNS kaydını yeni sunucuya yönlendirin. Yönlendirmeden sonra hosts dosyasına eklediğiniz satırları silin veya başlarına "#" koyarak açıklama satırına çevirin. Satırı unutursanız ileride sunucu IP adresi değiştiğinde bilgisayarınız siteyi eski adresten açmaya devam eder. DNS değişikliğinin herkese ulaşması zaman alabilir; süreci DNS yayılımı nedir rehberimizde anlattık.
Hayır. Hosts dosyası yalnızca düzenlendiği bilgisayarda geçerlidir. Diğer ziyaretçiler siteyi DNS kayıtları nereyi gösteriyorsa oradan görmeye devam eder.
Dosya yönetici yetkisi ister. Windows'ta Not Defteri'ni yönetici olarak çalıştırın; Linux ve macOS'ta dosyayı sudo ile açın.
Bilgisayarın veya tarayıcının DNS önbelleği eski kaydı tutuyor olabilir. Windows'ta ipconfig /flushdns komutunu çalıştırın, tarayıcıyı tamamen kapatıp açın ve ping ile IP adresini kontrol edin.
DNS kaydını yeni sunucuya yönlendirip site herkese yeni sunucudan açılmaya başladığında silin. Böylece ileride yapılacak IP değişikliklerinden bilgisayarınız da etkilenir.
Bilgi bankasını detaylı olarak incelediniz, fakat ihtiyacınız olan bilgiyi bulamıyorsanız,
Bir Destek Talebi Oluşturun.