Sulla base della mia esperienza personale e di ciò che ho riscontrato mentre cercavo su Google, ecco alcune cose da provare:
1. Hai verificato che funzioni correttamente?
Le modifiche agli host dovrebbero avere effetto immediato, ma Windows memorizza nella cache i dati sulla risoluzione dei nomi, quindi per un po 'di tempo è possibile utilizzare i vecchi record. Apri una riga di comando (Windows + R cmd
,, Invio) e digita:
ipconfig /flushdns
Per eliminare i vecchi dati. Per verificare se funziona, usa (supponendo che tu abbia una voce ipv4 nei tuoi host per www.example.com o una voce ipv6 nei tuoi host per ipv6.example.com):
ping www.example.com -n 1
ping -6 ipv6.example.com -n 1
E vedi se utilizza l'IP corretto. In caso affermativo, il file hosts va bene e il problema è altrove.
Inoltre, è possibile ripristinare la cache NetBios con (aprire la console come amministratore o non funzionerà):
nbtstat -R
Puoi controllare i dati correnti nella cache DNS con:
ipconfig /displaydns | more
2. Nozioni di base
- Il tuo file hosts è stato nominato correttamente? Dovrebbe essere
hosts
e non host
, ecc.
- L'estensione è corretta? Non dovrebbe avere estensione (
hosts
non hosts.txt
) - fai attenzione se hai configurato Windows per nascondere le estensioni conosciute, controlla le proprietà per essere sicuro: il tipo di file host corretto apparirà come "File".
- Hai seguito la sintassi corretta ? Hai accidentalmente prefisso le righe con un hash (
#
) che indica i commenti?
- Ti sei preso cura di tutte le varianti (
www.example.com
e example.com
- più sicuro di aggiungere solo entrambi)?
3. Spazio bianco
Il formato per ogni riga è IP address
, quindi una scheda orizzontale (codice di escape \t
, ASCII HT
, hex 0x09
) o un singolo spazio (hex 0x20
), quindi il nome host, ovvero. www.example.com
, infine un ritorno a capo seguito da un avanzamento riga (codici di escape \r\n
, ASCII CRLF
, hex 0x0d 0x0a
).
Voci di esempio, usando le immagini di controllo Unicode per indicare i caratteri di controllo. (Non copiarli e incollarli nel file hosts!)
192.0.2.1␉www.example.com␍␊
2001:db8:8:4::2␉ipv6.example.com␍␊
I singoli byte possono essere visualizzati in Notepad ++ con il plugin dell'editor esadecimale . Notepad ++ mostrerà anche caratteri speciali (Visualizza -> Mostra simbolo) in modo da poter facilmente ispezionare il numero e il tipo di spazi bianchi.
Se hai copiato e incollato le voci degli host da qualche parte, potresti finire con più spazi. In teoria, gli host supportano più spazi che separano le due colonne, ma è un'altra cosa da provare se nient'altro funziona.
Per essere al sicuro, assicurati che tutte le linee nel tuo file host utilizzino schede o spazi, non entrambi.
Infine, termina il file con una riga vuota.
4. Chiave di registro
Esiste una chiave di registro che specifica la posizione del file hosts. Presumibilmente, Windows in realtà non supporta l'inserimento del file hosts in altre posizioni, ma potresti voler controllare. La chiave è:
\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DataBasePath
La voce dovrebbe essere:
%SystemRoot%\System32\drivers\etc
5. Autorizzazioni
A volte ci sono problemi con le autorizzazioni sul file, gli attributi del file e cose simili. Per ricreare il file con le autorizzazioni predefinite:
- Crea un nuovo file di testo sul desktop.
- Copia e incolla il contenuto del file host corrente in questo file nel Blocco note.
- Salvare il nuovo file di testo e rinominarlo in
hosts
.
- Copia ( non spostare ) il file nella tua
%SystemRoot%\System32\drivers\etc
directory e sovrascrivi il vecchio file.
L'ultimo punto è importante: la copia funziona, lo spostamento no.
L' Users
account locale deve essere in grado di leggere il file hosts . Per assicurarsi (in Windows 7):
- Passare a
%SystemRoot%\System32\drivers\etc
Esplora risorse.
- Se non riesci a vedere il
hosts
file, assicurati di poter vedere i file nascosti e di sistema .
- Fare clic con il tasto destro sul
hosts
file e selezionare Properties
dal menu contestuale.
- Nella
hosts Properties
finestra, fai clic sulla Security
scheda.
- Esamina l'elenco dei nomi nella
Group or user names:
casella. Se %COMPUTERNAME%\Users
presente, fai clic su di esso per visualizzare le autorizzazioni.
- Se
Users
non è presente o è presente ma non dispone Read
dell'autorizzazione, fare clic su Edit...
.
- Se
Users
non è presente, fare clic Add...
, digitare Users
, fare Check Names
clic e fare clic su OK o premere Invio.
- Selezionare
Users
e assicurarsi che Read & execute
sia selezionato nella Allow
colonna. Clicca OK. Se viene visualizzata una Windows Security
finestra di avviso, scegliere Yes
di continuare.
- Fai clic su OK per chiudere la
hosts Properties
finestra.
- Vai alla sezione 1 di questa risposta e segui le istruzioni per verificare se funziona ora.
6. Codifica
Il file hosts dovrebbe essere codificato in ANSI o UTF-8 senza BOM. Puoi farlo con File -> Salva con nome.
7. Proxy
Se hai configurato un proxy, potrebbe ignorare il file hosts. La soluzione è non utilizzare il proxy o configurarlo per non farlo.
Per verificare, vai su Internet Explorer -> Opzioni Internet -> Connessioni -> Impostazioni LAN. Se tutto è vuoto e "Rileva automaticamente impostazioni" è selezionato, non stai usando un proxy.
Se si fa affidamento su un proxy per accedere al Web e pertanto non si desidera disabilitarlo, è possibile aggiungere eccezioni andando a Internet Explorer -> Opzioni Internet -> Connessioni -> Impostazioni LAN -> Server proxy / Avanzato. Quindi aggiungi le tue eccezioni alla casella di testo Eccezioni. Per esempiolocalhost;127.0.0.1;*.dev
8. indirizzo DNS
(Ciò può anche risolvere i problemi del proxy.)
Vai alle proprietà delle connessioni di rete, quindi alle impostazioni TCP / IP e modifica il primo server DNS in 127.0.0.1
(localhost). Il secondo dovrebbe probabilmente essere l'IP del tuo DNS attuale.
Questo non è necessario per il funzionamento del file hosts , ma può essere utile nel tuo caso se qualcosa è configurato in modo strano.
9. .local address
Se si utilizza una voce di dominio .local sotto forma di myhost.local e viene ignorata, provare quanto segue
x.x.x.x myhost.local www.myhost.local
anche se www.myhost.local non esiste. Windows in qualche modo non aggiunge il suo gruppo di lavoro o il suo localdomain.