Chrome 不显示 https 和 www 的解决方案

这两天突然发现好多网站的域名没有 www 了,这明显有点不对劲,一番调查之下,发现竟然是 Chrome 的锅。

原来这两天 Chrome 又自动更新了,我这现在是 版本 76.0.3809.100(正式版本) (64 位) ,这个版本的 Chrome 又一次把地址栏中的 https 和 www 给隐藏了起来。

没错,是“又一次”,Chrome 之前就这样干过一次了,只不过在后面的更新中又给改了回去。隐藏 https 还好说,有个小绿锁的标记在那里至少还是看得出来,但直接把 www 也给隐藏了无疑是有点太过激进,上次这样做的时候就引起了不少用户的抵制,结果现在还是要坚持这一方案,实在是搞不懂 Google 的大佬是怎么想的。

导致的问题

接触过网站和域名的应该都知道,在设置解析记录的时候带 www 和不带 www 是两条不同的记录,而域名的各个解析记录之间是没有必然联系的。也就是说,这两条记录是完全独立的,完全可以指向不同的 ip 地址。拿本站域名举例,只要我愿意,www.xirikm.netxirikm.net 完全可以指向两台服务器、成为两个不同的网站,只是一般情况下人们都不会这样做而已(本站也不例外)。

但这毕竟只是一般情况,像我们这种爱折腾党,什么情况都可能遇到,这时候 Chrome 更新的这个 feature 就很让人难受了。所以接下来分享一下解决方案吧。

解决方案

Chrome 虽然在更新后默认启用了这一 feature ,但它其实并不是强制的,我们可以在 Experiments 页面将它关掉。

在地址栏输入 chrome://flags/ 进入 Chrome 实验室,找到 Omnibox UI Hide Steady-State URL Trivial Subdomains 这一项,或者直接在地址栏输入 chrome://flags/#omnibox-ui-hide-steady-state-url-trivial-subdomains 跳转到这一项的位置。

该 feature 选项此时应该是默认设置为 Default ,我们将其修改为 Disabled 即可。

2019年9月28日更新

最近发现 Chrome 似乎又有改动,在 版本 77.0.3865.90(正式版本) (64 位) 中,上面的选项只控制是否隐藏 www ,要显示 https 还需要将 Omnibox UI Hide Steady-State URL Scheme 这一项设置为 Disabled (在地址栏输入 chrome://flags/#omnibox-ui-hide-steady-state-url-scheme 可直接跳转到对应位置)

两项都修改之后重启浏览器就会发现地址栏恢复显示 https 和 www 啦。