จากประสบการณ์ของฉันเองและสิ่งที่ฉันพบในขณะ Googling ต่อไปนี้เป็นสิ่งที่ควรลอง:
1. คุณตรวจสอบว่ามันทำงานถูกต้องหรือไม่?
การเปลี่ยนแปลงโฮสต์จะมีผลทันที แต่ Windows จะแคชข้อมูลการจำแนกชื่อดังนั้นบางครั้งอาจมีการใช้ระเบียนเก่า เปิดบรรทัดคำสั่ง (Windows + R cmd
, Enter) และพิมพ์:
ipconfig /flushdns
เพื่อวางข้อมูลเก่า หากต้องการตรวจสอบว่าใช้งานได้หรือไม่ให้ใช้ (สมมติว่าคุณมีรายการ ipv4 ในโฮสต์สำหรับ www.example.com หรือรายการ ipv6 ในโฮสต์สำหรับ ipv6.example.com):
ping www.example.com -n 1
ping -6 ipv6.example.com -n 1
และดูว่ามันใช้ IP ที่ถูกต้องหรือไม่ ถ้าใช่ไฟล์โฮสต์ของคุณใช้ได้และปัญหาอยู่ที่อื่น
นอกจากนี้คุณสามารถรีเซ็ตแคช NetBios ด้วย (เปิดคอนโซลในฐานะผู้ดูแลระบบหรือจะล้มเหลว):
nbtstat -R
คุณสามารถตรวจสอบข้อมูลปัจจุบันในแคช DNS ด้วย:
ipconfig /displaydns | more
2. พื้นฐาน
- ไฟล์โฮสต์ของคุณตั้งชื่อถูกต้องหรือไม่ มันควรจะเป็น
hosts
และไม่ได้host
ฯลฯ
- นามสกุลถูกต้องหรือไม่ มันไม่ควรมีนามสกุล (
hosts
ไม่hosts.txt
) - ระวังถ้าคุณได้กำหนดค่า windows เพื่อซ่อนนามสกุลที่รู้จักตรวจสอบคุณสมบัติเพื่อให้แน่ใจว่า: ประเภทของไฟล์โฮสต์ที่ถูกต้องจะแสดงเป็น "ไฟล์"
- คุณทำตามไวยากรณ์ที่ถูกต้องหรือไม่ คุณนำเส้นที่มีแฮช (
#
) ซึ่งแสดงความคิดเห็นโดยไม่ตั้งใจหรือไม่
- คุณดูแลตัวแปรทั้งหมด (
www.example.com
และexample.com
- ปลอดภัยที่สุดที่จะเพิ่มทั้งสองอย่าง) หรือไม่?
3. ช่องว่าง
รูปแบบสำหรับแต่ละบรรทัดคือIP address
จากนั้นแท็บแนวนอน (รหัสหลบหนี\t
, ASCII HT
, ฐานสิบหก0x09
) หรือช่องว่างเดียว (ฐานสิบหก0x20
) จากนั้นชื่อโฮสต์คือ www.example.com
จากนั้นในที่สุดก็กลับรถตามด้วยฟีดบรรทัด (รหัสหลบหนี\r\n
, ASCII CRLF
, ฐานสิบหก0x0d 0x0a
)
รายการตัวอย่างโดยใช้รูปภาพควบคุม Unicode เพื่อระบุอักขระควบคุม (อย่าคัดลอกและวางสิ่งเหล่านี้ลงในไฟล์โฮสต์ของคุณ!)
192.0.2.1␉www.example.com␍␊
2001:db8:8:4::2␉ipv6.example.com␍␊
ไบต์ของแต่ละบุคคลอาจจะดูในNotepad ++กับปลั๊กอินแก้ไข hex Notepad ++ จะแสดงตัวอักษรพิเศษ (ดู -> แสดงสัญลักษณ์) เพื่อให้คุณสามารถตรวจสอบจำนวนและชนิดของอักขระช่องว่างได้อย่างง่ายดาย
หากคุณคัดลอกและวางรายการโฮสต์จากที่อื่นคุณอาจพบว่ามีหลายช่องว่าง ในทางทฤษฎีโฮสต์รองรับหลายช่องว่างที่แยกสองคอลัมน์ แต่มันเป็นอีกสิ่งหนึ่งที่จะลองถ้าไม่มีอะไรทำงาน
เพื่อให้อยู่ในด้านที่ปลอดภัยตรวจสอบให้แน่ใจว่าทุกบรรทัดในไฟล์โฮสต์ของคุณใช้แท็บหรือช่องว่างไม่ใช่ทั้งสองอย่าง
สุดท้ายยุติไฟล์ด้วยบรรทัดว่าง
4. คีย์รีจิสทรี
มีรีจิสตรีคีย์ที่ระบุตำแหน่งของไฟล์โฮสต์ สมมติว่า Windows ไม่สนับสนุนการวางไฟล์โฮสต์ในที่อื่น แต่คุณอาจต้องการตรวจสอบ กุญแจสำคัญคือ:
\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DataBasePath
รายการควรเป็น:
%SystemRoot%\System32\drivers\etc
5. การอนุญาต
บางครั้งมีปัญหาเกี่ยวกับการอนุญาตไฟล์, คุณสมบัติไฟล์และสิ่งที่คล้ายกัน ในการสร้างไฟล์ใหม่ด้วยการอนุญาตเริ่มต้น:
- สร้างไฟล์ข้อความใหม่บนเดสก์ท็อปของคุณ
- คัดลอกและวางเนื้อหาของไฟล์โฮสต์ปัจจุบันของคุณลงในไฟล์นี้ใน Notepad
hosts
บันทึกแฟ้มข้อความใหม่และเปลี่ยนชื่อเป็น
- คัดลอก ( ห้ามย้าย ) ไฟล์ไปยัง
%SystemRoot%\System32\drivers\etc
ไดเรกทอรีของคุณและเขียนทับไฟล์เก่า
จุดสุดท้ายเป็นสิ่งสำคัญ: การคัดลอกงานย้ายไม่ได้
Users
บัญชีโลคัลต้องสามารถอ่านไฟล์โฮสต์ได้ วิธีตรวจสอบให้แน่ใจ (ใน Windows 7):
- นำทางไปยัง
%SystemRoot%\System32\drivers\etc
ใน Windows Explorer
- หากคุณไม่สามารถมองเห็น
hosts
ไฟล์ให้แน่ใจว่าคุณสามารถดูไฟล์ที่ซ่อนอยู่และระบบ
- คลิกขวาที่
hosts
ไฟล์และเลือกProperties
จากเมนูบริบท
- ใน
hosts Properties
หน้าต่างคลิกที่Security
แท็บ
- ตรวจสอบรายชื่อใน
Group or user names:
กล่อง ถ้า%COMPUTERNAME%\Users
มีอยู่คลิกที่มันเพื่อดูสิทธิ์
- หาก
Users
ไม่อยู่หรือมีอยู่ แต่ไม่ได้มีการอนุญาตคลิกRead
Edit...
- หาก
Users
ไม่มีอยู่ให้คลิกAdd...
พิมพ์Users
คลิกCheck Names
แล้วคลิกตกลงหรือกด Enter
- เลือก
Users
และRead & execute
ตรวจสอบให้แน่ใจว่ามีการตรวจสอบในAllow
คอลัมน์ คลิกตกลง หากWindows Security
กล่องเตือนปรากฏขึ้นให้เลือกYes
เพื่อดำเนินการต่อ
- คลิกตกลงเพื่อปิด
hosts Properties
หน้าต่าง
- ไปที่ส่วนที่ 1 ของคำตอบนี้และทำตามคำแนะนำเพื่อตรวจสอบว่ามันใช้งานได้หรือไม่
6. การเข้ารหัส
ไฟล์โฮสต์ควรเข้ารหัสใน ANSI หรือ UTF-8 โดยไม่มี BOM คุณสามารถทำได้ด้วยไฟล์ -> บันทึกเป็น
7. ผู้รับมอบฉันทะ
หากคุณมีการกำหนดค่าพร็อกซีมันอาจข้ามไฟล์โฮสต์ ทางออกคือไม่ใช้พร็อกซีหรือกำหนดค่าให้ไม่ทำเช่นนี้
ในการตรวจสอบไปที่ Internet Explorer ของคุณ -> ตัวเลือกอินเทอร์เน็ต -> การเชื่อมต่อ -> การตั้งค่า LAN หากทุกอย่างว่างเปล่าและ "ตรวจสอบการตั้งค่าอัตโนมัติ" แสดงว่าคุณไม่ได้ใช้พรอกซี
หากคุณพึ่งพาพร็อกซีเพื่อเข้าถึงเว็บดังนั้นจึงไม่ต้องการปิดใช้งานคุณสามารถเพิ่มข้อยกเว้นได้โดยไปที่ Internet Explorer -> ตัวเลือกอินเทอร์เน็ต -> การเชื่อมต่อ -> การตั้งค่า LAN -> การตั้งค่า LAN -> เซิร์ฟเวอร์พร็อกซี่ / ขั้นสูง จากนั้นเพิ่มข้อยกเว้นของคุณไปที่กล่องข้อความข้อยกเว้น เช่นlocalhost;127.0.0.1;*.dev
8. ที่อยู่ DNS
(สิ่งนี้อาจแก้ไขปัญหาพร็อกซีได้)
ไปที่คุณสมบัติการเชื่อมต่อเครือข่ายของคุณจากนั้นตั้งค่า TCP / IP และเปลี่ยนเซิร์ฟเวอร์ DNS ตัวแรกเป็น127.0.0.1
(localhost) ข้อที่สองน่าจะเป็น IP จริงของ DNS ของคุณ
สิ่งนี้ไม่จำเป็นสำหรับไฟล์โฮสต์ในการทำงานแต่อาจช่วยได้ในกรณีของคุณหากมีการกำหนดค่าบางอย่างแปลก ๆ
9. ที่อยู่ในท้องถิ่น
หากคุณกำลังใช้รายการโดเมน. local ในรูปแบบของ myhost.local และจะถูกละเว้นโปรดลองดังต่อไปนี้
x.x.x.x myhost.local www.myhost.local
แม้ว่า www.myhost.local ไม่มีอยู่ Windows อย่างใดไม่ผนวกกลุ่มงานหรือโดเมนท้องถิ่น