用户在输入域名如果没有加主机名 如 www 的时候,网站正确处理方式

这是个很有意思的话题,www 是流行了十几年主机名简直已经是万维网的标准了。几乎大家熟知的网站都有www的头,默认也会跳转到www,比如在浏览器的地址栏中输入baidu.com 时,会自动跳转到www.baidu.com ,我们的个人网站该如何正确配置的这样的跳转呢?

我首先想到的是在域名解析中设置@ 的A 记录 URL 转发到 www.linux5.net;  经测试这个跳转的确是可以成功的。

但是今天经过乔老师的指点,这样做是非常不对的,第一:URL 转发是一种非标准的DNS 解析方式,造成域名被二次解析有时甚至是绕了一圈转回来,对搜索引擎不够友好。 第二如果你的网站是https的, 又配了默认从http 强制转https 时,在域名解析配置上做拦截会影响到你站点的过滤文件不能正常工作。


那么正确的打开方式应该是: apache 的配置文件中 在虚拟主机的配置中加入下面的代码


<IfModule mod_headers.c>
    Header always set Strict-Transport-Security "max-age=31536000; includeSubdomains; preload"
</IfModule>


<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{HTTP_HOST} !^www.linux5.net$ [NC]
    RewriteRule ^/(.*)$ https://www.linux5.net/$1 [R=301,L]
</IfModule>