目前我正在关注https://github.com/RMerl/asuswrt-merlin.ng/wiki/Custom-domains-with-dnsmasq在我的路由器上。我在其中 创建了一个dnsmasq.conf.add
文件。address=/g/192.168.0.96
我可以http://g/
在除 Windows 机器之外的所有设备上访问。搜索后,我发现的唯一解决方案是手动配置每个 Windows 设备,而我想避免这种情况(例如添加后缀或编辑 hosts 文件)。
请注意,http://g./
在 Windows 上确实会重定向(这与配置后缀相同)。
我想要一个对网络上任何试图访问 的设备都“有效”的解决方案http://g/
。
答案1
您的域名本身就是此处的顶级域名。浏览器不喜欢访问顶级域名;它们在编码时假设合法的 TLD 永远不会有地址记录(过去很少见,我相信 ICANN 现在完全禁止这种行为)。您很可能无法从外部更改此行为。
相反,定义一个普通的域名(包含 2 个以上组件),然后设置您的 DHCP 服务器以通告“域名搜索后缀“告诉客户端在单词名称后附加什么内容。
例如,您可以将其定义address=/g.example.corp/
为网站,然后example.com
通过 DHCP 发布为域搜索后缀,浏览器访问http://g/
(或任何其他软件)将自动访问,g.example.com
因为操作系统会自动附加搜索后缀。此功能得到广泛支持。
(浏览器不想访问 TLD 的另一个原因是域名搜索后缀机制具有更高的优先级!仔细想想,这很有道理——没有域名的名称是“本地的”,因此是本地网络定义了它们的位置,而不是由非常全球化的 TLD 负责。)