Kendi tecrübelerime ve Googling’de karşılaştığım şeye dayanarak, işte denenecek bazı şeyler:
1. Doğru çalıştığını kontrol ettiniz mi?
Ana bilgisayardaki değişikliklerin hemen geçerli olması gerekir, ancak Windows ad çözümleme verilerini önbelleğe alır, bu nedenle bir süre eski kayıtlar kullanılabilir. Bir komut satırı açın (Windows + R cmd
,, Enter) ve şunu yazın:
ipconfig /flushdns
Eski verileri bırakmak için. İşe yarayıp yaramadığını kontrol etmek için kullanın (www.example.com için ana bilgisayarlarınızda bir ipv4 girişiniz ya da ipv6.example.com için ana bilgisayarlarınızda bir ipv6 girişiniz varsayarak):
ping www.example.com -n 1
ping -6 ipv6.example.com -n 1
Ve doğru IP kullanıp kullanmadığını kontrol edin. Eğer evet ise, hosts dosyanız iyi durumda ve problem başka bir yerde.
Ayrıca, NetBios önbelleğini şu şekilde sıfırlayabilirsiniz (konsolu bir yönetici olarak açın yoksa başarısız olur):
nbtstat -R
Geçerli verileri DNS önbelleğindeki ile kontrol edebilirsiniz:
ipconfig /displaydns | more
2. Temel Bilgiler
- Anasisteminiz doğru bir şekilde adlandırılmış mı? Olmalı,
hosts
olmama host
vb.
- Uzantı doğru mu? Bir uzantıya sahip olmamalıdır (
hosts
değil hosts.txt
) - bilinen uzantıları gizlemek için pencereleri yapılandırdıysanız, emin olmak için özellikleri kontrol edin: Doğru ana bilgisayar dosyasının türü yalnızca "Dosya" olarak görünecektir.
- Doğru sözdizimini takip ettiniz mi? Yanlışlıkla
#
yorumları gösteren bir hash ( ) satırına yanlışlıkla önek eklediniz mi ?
- Tüm değişkenlere iyi baktınız mı (
www.example.com
ve example.com
- sadece her ikisini de eklemek için en güvenli)?
3. Boşluk
Her satırın formatı IP address
, sonra yatay bir sekmedir (kaçış kodu \t
, ASCII HT
, hex 0x09
) veya tek bir boşluktur (onaltılık 0x20
), sonra ana bilgisayar adı, yani. www.example.com
, sonra nihayet bir satır başı izleyen bir satır başı (kaçış kodları \r\n
, ASCII CRLF
, hex 0x0d 0x0a
).
Kontrol karakterlerini belirtmek için Unicode kontrol resimlerini kullanarak örnek girişler. (Bunları kopyalayıp ana makinenize yapıştırmayın!)
192.0.2.1␉www.example.com␍␊
2001:db8:8:4::2␉ipv6.example.com␍␊
Tek tek baytlar , hex editör eklentisiyle Notepad ++ ' da görüntülenebilir . Notepad ++ ayrıca özel karakterleri (Görünüm -> Sembolü Göster) gösterir; böylece boşluk karakterlerinin sayısını ve türünü kolayca denetleyebilirsiniz.
Ana bilgisayar girişlerini bir yerden kopyalayıp yapıştırdıysanız, birden çok boşluk bırakabilirsiniz. Teorik olarak, ana bilgisayarlar iki sütunu ayıran birden çok alanı destekler, ancak başka hiçbir şeyin işe yarayıp yaramadığını denemek için başka bir şeydir.
Güvenli tarafta olmak için, ana bilgisayar dosyanızdaki tüm satırların her ikisinin de değil, sekme veya boşluk kullandığından emin olun.
Son olarak, dosyayı boş bir satırla sonlandırın.
4. Kayıt Defteri Anahtarı
Hosts dosyasının konumunu belirten bir kayıt defteri anahtarı var. Güya, Windows gerçekten ana bilgisayar dosyasını başka konumlara koymayı desteklemiyor, ancak kontrol etmek isteyebilirsiniz. Anahtar:
\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DataBasePath
Giriş:
%SystemRoot%\System32\drivers\etc
5. İzinler
Bazen dosyada, dosya özniteliklerinde ve benzeri şeylerde izinlerle ilgili sorunlar olabilir. Dosyayı varsayılan izinlerle yeniden oluşturmak için:
- Masaüstünde yeni bir metin dosyası oluşturun.
- Geçerli konak dosyanızın içeriğini kopyalayıp Not Defteri'nde bu dosyaya yapıştırın.
- Yeni metin dosyasını kaydedin ve yeniden adlandırın
hosts
.
- Dosyayı dizine kopyalayın ( taşımayın )
%SystemRoot%\System32\drivers\etc
ve eski dosyanın üzerine yazın.
Son nokta önemlidir: Kopyalama çalışır, taşınmaz.
Yerel Users
hesap , hosts dosyasını okuyabilmelidir . Emin olmak için (Windows 7’de):
%SystemRoot%\System32\drivers\etc
Windows Gezgini'nde gidin .
- Eğer göremiyorsan
hosts
dosyayı, gizli ve sistem dosyalarını görebilirsiniz sağlamak .
hosts
Dosyaya sağ tıklayın Properties
ve içerik menüsünden seçim yapın.
- Gelen
hosts Properties
pencerede, tıklayın Security
sekmesine.
Group or user names:
Kutudaki adların listesini inceleyin . Varsa %COMPUTERNAME%\Users
, izinleri görüntülemek için üzerine tıklayın.
- Eğer
Users
mevcut değil veya mevcut fakat yok Read
iznine tıklayın Edit...
.
- Eğer yoksa
Users
, tıklayın Add...
, yazın Users
, tıklayın Check Names
ve Tamam'a tıklayın veya Enter'a basın.
- Seçin
Users
ve sütunda Read & execute
kontrol edildiğinden emin olun Allow
. Tamam'ı tıklayın. Bir Windows Security
uyarı kutusu açılırsa, Yes
devam etmeyi seçin .
- Pencereyi kapatmak için Tamam'a tıklayın
hosts Properties
.
- Bu cevabın 1. bölümüne gidin ve şimdi çalışıp çalışmadığını kontrol etmek için talimatları izleyin.
6. Kodlama
Anasistem dosyası ANSI veya UTF-8'de BOM olmadan kodlanmış olmalıdır. Bunu Dosya -> Farklı Kaydet ile yapabilirsiniz.
7. Proxy'ler
Yapılandırılmış bir proxy'niz varsa, hosts dosyasını atlayabilir. Çözüm, proxy'yi kullanmamak veya bunu yapmayacak şekilde yapılandırmaktır.
Kontrol etmek için, Internet Explorer -> İnternet Seçenekleri -> Bağlantılar -> LAN ayarlarına gidin. Her şey boşsa ve "Ayarları otomatik olarak algıla" seçeneği işaretliyse, proxy kullanmazsınız.
Web'e erişmek için bir proxy’ye güveniyorsanız ve bu nedenle devre dışı bırakmak istemiyorsanız, Internet Explorer -> İnternet Seçenekleri -> Bağlantılar -> LAN ayarları -> Proxy Sunucu / Gelişmiş’e giderek istisnalar ekleyebilirsiniz. Ardından, istisnalarınızı İstisnalar metin kutusuna ekleyin. Örneğinlocalhost;127.0.0.1;*.dev
8. DNS adresi
(Bu, proxy sorunlarını da çözebilir.)
Ağ bağlantıları özelliklerine, ardından TCP / IP ayarlarına gidin ve ilk DNS sunucusunu 127.0.0.1
(localhost) olarak değiştirin. İkincisi muhtemelen gerçek DNS’nizin IP’si olmalıdır.
Ana bilgisayar dosyasının çalışması için bu gerekli değildir , ancak bir şey garip bir şekilde yapılandırılmışsa sizin durumunuza yardımcı olabilir.
9. .local adresleri
Myhost.local biçiminde bir .local alan adı girişi kullanıyorsanız ve yok sayılırsa, lütfen aşağıdakileri deneyin
x.x.x.x myhost.local www.myhost.local
www.myhost.local olmasa bile. Windows bir şekilde çalışma grubunu veya yerel etki alanını eklemez.