Dựa trên kinh nghiệm của bản thân và những gì tôi gặp phải khi Googling, đây là một số điều cần thử:
1. Bạn đã kiểm tra xem nó hoạt động chính xác chưa?
Các thay đổi đối với máy chủ sẽ có hiệu lực ngay lập tức, nhưng Windows lưu trữ dữ liệu phân giải tên để đôi khi các bản ghi cũ có thể được sử dụng. Mở một dòng lệnh (Windows + R cmd
,, Enter) và gõ:
ipconfig /flushdns
Để bỏ dữ liệu cũ. Để kiểm tra xem nó có hoạt động không, hãy sử dụng (giả sử bạn có mục nhập ipv4 trong máy chủ của mình cho www.example.com hoặc mục nhập ipv6 trong máy chủ của bạn cho ipv6.example.com):
ping www.example.com -n 1
ping -6 ipv6.example.com -n 1
Và xem nếu nó sử dụng IP chính xác. Nếu có, tập tin lưu trữ của bạn là tốt và vấn đề là ở nơi khác.
Ngoài ra, bạn có thể đặt lại bộ đệm NetBios bằng (mở bảng điều khiển với tư cách quản trị viên hoặc nó sẽ thất bại):
nbtstat -R
Bạn có thể kiểm tra dữ liệu hiện tại trong bộ đệm DNS với:
ipconfig /displaydns | more
2. Khái niệm cơ bản
- Là tập tin lưu trữ của bạn được đặt tên chính xác? Nó nên
hosts
và không host
, vv
- Là phần mở rộng đúng? Nó không nên có phần mở rộng (
hosts
không hosts.txt
) - hãy cẩn thận nếu bạn đã cấu hình các cửa sổ để ẩn các tiện ích mở rộng đã biết, kiểm tra các thuộc tính để chắc chắn: Loại tệp máy chủ chính xác sẽ hiển thị dưới dạng "Tệp".
- Bạn đã làm đúng cú pháp ? Bạn đã vô tình tiền tố dòng với một hàm băm (
#
) cho biết ý kiến?
- Bạn đã chăm sóc tất cả các biến thể (
www.example.com
và example.com
- an toàn nhất để chỉ thêm cả hai)?
3. Khoảng trắng
Định dạng cho mỗi dòng là IP address
, sau đó là một tab ngang (mã thoát \t
, ASCII HT
, hex 0x09
) hoặc một khoảng trắng (hex 0x20
), sau đó là tên máy chủ, tức là. www.example.com
, sau đó cuối cùng là trả lại vận chuyển theo sau là một nguồn cấp dữ liệu, (mã thoát \r\n
, ASCII CRLF
, hex 0x0d 0x0a
).
Các mục mẫu, sử dụng hình ảnh điều khiển Unicode để chỉ ra các ký tự điều khiển. (Không sao chép và dán chúng vào tệp máy chủ của bạn!)
192.0.2.1␉www.example.com␍␊
2001:db8:8:4::2␉ipv6.example.com␍␊
Các byte riêng lẻ có thể được xem trong Notepad ++ với plugin trình soạn thảo hex . Notepad ++ cũng sẽ hiển thị các ký tự đặc biệt (Xem -> Hiển thị Biểu tượng) để bạn có thể dễ dàng kiểm tra số lượng và loại ký tự khoảng trắng.
Nếu bạn đã sao chép và dán các mục lưu trữ từ một nơi nào đó, bạn có thể kết thúc với nhiều khoảng trắng. Về lý thuyết, máy chủ hỗ trợ nhiều không gian ngăn cách hai cột, nhưng đó là một điều khác để thử nếu không có gì khác hoạt động.
Để đảm bảo an toàn, hãy đảm bảo tất cả các dòng trong tệp máy chủ của bạn sử dụng tab hoặc dấu cách, không phải cả hai.
Cuối cùng, chấm dứt tệp với một dòng trống.
4. Khóa đăng ký
Có một khóa đăng ký chỉ định vị trí của tệp máy chủ. Giả sử, Windows không thực sự hỗ trợ đặt tệp máy chủ ở các vị trí khác, nhưng bạn có thể muốn kiểm tra. Chìa khóa là:
\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DataBasePath
Mục nhập phải là:
%SystemRoot%\System32\drivers\etc
5. Quyền
Đôi khi có vấn đề với quyền trên tệp, thuộc tính tệp và những thứ tương tự. Để tạo lại tệp với quyền mặc định:
- Tạo một tệp văn bản mới trên máy tính để bàn của bạn.
- Sao chép và dán nội dung của tệp máy chủ hiện tại của bạn vào tệp này trong Notepad.
- Lưu tệp văn bản mới và đổi tên thành
hosts
.
- Sao chép ( không di chuyển ) tệp vào
%SystemRoot%\System32\drivers\etc
thư mục của bạn và ghi đè lên tệp cũ.
Điểm cuối cùng rất quan trọng: Sao chép tác phẩm, di chuyển không.
Users
Tài khoản cục bộ phải có khả năng đọc tệp máy chủ . Để đảm bảo (trong Windows 7):
- Điều hướng đến
%SystemRoot%\System32\drivers\etc
trong Windows Explorer.
- Nếu bạn không thể xem
hosts
tệp, hãy đảm bảo bạn có thể xem các tệp hệ thống và ẩn .
- Nhấp chuột phải vào
hosts
tệp và chọn Properties
từ menu ngữ cảnh.
- Trong
hosts Properties
cửa sổ, bấm vào Security
tab.
- Kiểm tra danh sách các tên trong
Group or user names:
hộp. Nếu %COMPUTERNAME%\Users
có, nhấp vào nó để xem quyền.
- Nếu
Users
không có mặt, hoặc có mặt nhưng không Read
được phép, hãy nhấp vào Edit...
.
- Nếu
Users
không có, bấm Add...
, gõ Users
, bấm Check Names
và bấm OK hoặc nhấn Enter.
- Chọn
Users
và đảm bảo Read & execute
được kiểm tra trong Allow
cột. Nhấn OK. Nếu một Windows Security
hộp cảnh báo bật lên, chọn Yes
tiếp tục.
- Nhấn OK để đóng
hosts Properties
cửa sổ.
- Đến phần 1 của câu trả lời này và làm theo hướng dẫn để kiểm tra xem bây giờ nó có hoạt động không.
6. Mã hóa
Tệp máy chủ phải được mã hóa trong ANSI hoặc UTF-8 mà không cần BOM. Bạn có thể làm điều này với File -> Save As.
7. Proxy
Nếu bạn có proxy được cấu hình, nó có thể bỏ qua tệp máy chủ. Giải pháp là không sử dụng proxy hoặc cấu hình nó để không làm điều này.
Để kiểm tra, hãy truy cập Internet Explorer -> Tùy chọn Internet -> Kết nối -> Cài đặt mạng LAN. Nếu mọi thứ đều trống và "Tự động phát hiện cài đặt" được chọn, bạn không sử dụng proxy.
Nếu bạn dựa vào proxy để truy cập web và do đó không muốn tắt nó, bạn có thể thêm ngoại lệ bằng cách truy cập Internet Explorer -> Tùy chọn Internet -> Kết nối -> Cài đặt LAN -> Proxy Server / Advanced. Sau đó thêm ngoại lệ của bạn vào hộp văn bản Ngoại lệ. Ví dụlocalhost;127.0.0.1;*.dev
8. Địa chỉ DNS
(Điều này cũng có thể giải quyết các vấn đề proxy.)
Chuyển đến thuộc tính kết nối mạng của bạn, sau đó cài đặt TCP / IP và thay đổi máy chủ DNS đầu tiên thành 127.0.0.1
(localhost). Thứ hai có lẽ phải là IP DNS thực tế của bạn.
Điều này là không cần thiết để tập tin máy chủ hoạt động , nhưng nó có thể giúp ích trong trường hợp của bạn nếu một cái gì đó được cấu hình kỳ lạ.
9. Địa chỉ địa phương
Nếu bạn đang sử dụng mục nhập tên miền .local dưới dạng myhost.local và nó bị bỏ qua, vui lòng thử cách sau
x.x.x.x myhost.local www.myhost.local
ngay cả khi www.myhost.local không tồn tại. Windows bằng cách nào đó không nối thêm nhóm làm việc hoặc tên miền cục bộ của nó.