2022年4月25日星期一

不带www顶级域名自动跳转访问二级域名:根域名301重定向www

原文链接:https://www.chenweiliang.com/cwl-27630.html


如果WordPress网站同时包含了2个域名(带有www域名和没有www域名)都能访问时,是非常不利于SEO权重的集中,以及后续的搜索引擎优化收录。


我们该如何解决?


这需要将不带 www 的域名永久 301 重定向到带 www 的域名。


不带www顶级域名自动跳转访问二级域名:根域名301重定向www 第1张


网站根域名重定向www域名好处


好处是可以提升域名权重。


301重定向实际上是域名权重的转移。


例如,当 chenweiliang.com 重定向到 www.chenweiliang.com 时,实际上是把 chenweiliang.com 的权重转移到了 www.chenweiliang.com ,从而提升了 www.chenweiliang.com 的域名。


  • 提升搜索引擎优化效果;

  • 有利于网页权重传递;

  • 优化网页收录。

当我们打开网站时,会出现两个完全相同的页面。


  • 这时,搜索引擎蜘蛛会反复爬取。

  • 重复的页面会导致搜索引擎的误判。

  • 这时候就需要使用301重定向来处理,优化网页收录;

更好的用户体验:没有重复的页面,用户会更好地记住我们的网站,提高网站的记忆力,获得更好的用户体验。


网站不带 www 二级域名的缺点


  • 少数用户可能无法将 etufo.org  识别为网址;

  • 少数用户只会识别带 www 网址格式的二级域名 http://www.etufo.org

顶级域名如何重定向到www?


以下是基于Linux服务器实现的解决方案。


第 1 步:新建.htaccess文件


通常我们的电脑使用Windows操作系统,是不能直接新建.htaccess文件。


必须先新建一个htaccess.txt文件,后面会介绍如何修改名称。


第 2 步:将以下代码复制到txt中


RewriteEngine On
RewriteCond %http_host ^chenweiliang .com$ [NC]
RewriteRule ^(.*)$ http://www.chenweiliang.com/$1 [R=301,L]

  • “RewriteEngine On”,开启Rewrite Rule开关;

  • "RewriteCond" 是指重写条件。

  • 之后的字符串由正则表达式匹配,匹配的字符串以 ^ 开头,以 $ 结尾。

  • 这里 %http_host 是获取当前主机名。 条件为“当主机名为 chenweiliang.com”时,将执行以下重写规则。

  • “[NC]”表示不区分大小写;

  • "RewriteRule",定义重写规则。 这里的意思:跳转到URL中“ http://www.chenweiliang.com/ ”访问请求 chenweiliang.com 之后的部分。

  • [R=301]表示重写为301重定向/跳转([R]单指跳转,与[R=302]含义相同),[L]表示最后一条匹配规则。

第 3 步:上传htaccess.txt文件并修改名称


使用FTP工具将htaccess.txt文件上传到网站根目录,改名为“.htaccess”,注意前面有个点。


  • 如果文件已存在,请将代码复制到其中。

  • 这样,当你访问一个不带www的域名时,它会自动重定向到带www的域名。

  • 通过上面的方法,不带www域名可以自动跳转到带www的域名,。

注意事项:这里修改后可能会发现文件丢失了。


这是因为“.htaccess”文件被视为隐藏文件,不会显示。


可以打开FTP工具,这里以XFTP软件为例,在【工具】→【选项】 ▼


这是因为“.htaccess”文件被视为隐藏文件,不会显示。 可以打开FTP工具,这里以XFTP软件为例,在【工具】→【选项】 第2张


【常规】→勾选【显示隐藏文件】 ▼


【常规】选项 → 勾选【显示隐藏文件】 第3张


 


在此分享通用的带 www 域名重定向到不带www的域名规则,以及不带www的域名跳转到带www的域名规则。


以下301重定向规则可直接复制(无需修改规则里的域名):


带 www 域名重定向到不带www的域名规则


RewriteCond %HTTPS !=on
RewriteCond %HTTP_HOST ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%REQUEST_URI [R=301,L]

不带www的域名跳转到带www的域名规则


RewriteCond %HTTPS !=on
RewriteCond %HTTP_HOST !^www\..+$ [NC]
RewriteRule ^ http://www.%HTTP_HOST%REQUEST_URI [R=301,L]

301重定向规则位置问题


在伪静态规则下,放置重定向跳转规则时,通常会遇到 http 无法全站重定向到 https 的问题。


最初我们将重定向代码复制到.htaccess中,它将出现在以下情况 ▼


重定向规则 [L] 在上面 第4张


  • [L]表示当前规则是最后一条规则,停止分析后面重写规则。

  • 因此在访问重定向的文章页面时,[L]停止了后面的规则,所以重定向规则不能起作用。

访问http主页时,我们希望触发网址重定向,跳过伪静态规则以执行重定向跳转规则,以便可以实现全站 http 重定向到 https


不要将https重定向规则放在 [L] 规则的下面,要放在 [L] 规则上面 ▼


伪静态SSL重定向规则 [L] 在下面 第5张


网站主域名有没有必要重定向www?


如果你直接使用如 chenweiliang.com 这样的顶级域名作为你的博客域名,那么使用子域名作为图床不能实现Cookie-free。


  • 因为顶级域名 chenweiliang.com 会向所有被请求的静态文件的二级域名服务器发送cookie。

如果你想支持Cookie-free的图床,则需要使用不同的域名来实现Cookie-free。


详情请浏览此文 ▼






欢迎转载《不带www顶级域名自动跳转访问二级域名:根域名301重定向www

欢迎分享本文链接:https://www.chenweiliang.com/cwl-27630.html


网站地址:https://www.chenweiliang.com/



欲获取更多资讯内幕和秘技,欢迎进入Telegram频道:https://www.chenweiliang.com/go/tgchannel

没有评论:

发表评论