文章目录
如果WordPress网站同时包含了2个域名(带有www域名和没有www域名)都能访问时,是非常不利于SEO权重的集中,以及后续的搜索引擎优化收录。
我们该如何解决?
这需要将不带 www 的域名永久 301 重定向到带 www 的域名。
网站根域名301重定向www域名好处
好处是可以提升域名权重。
301重定向实际上是域名权重的转移。
例如,当 chenweiliang.com
重定向到 www.chenweiliang.com
时,实际上是把 chenweiliang.com
的权重转移到了 www.chenweiliang.com
,从而提升了 www.chenweiliang.com
的域名。
- 提升搜索引擎优化效果;
- 有利于网页权重传递;
- 优化网页收录。
当我们打开电商网站时,会出现两个完全相同的页面。
- 这时,搜索引擎蜘蛛会反复爬取。
- 重复的页面会导致搜索引擎的误判。
- 这时候就需要使用301重定向来处理,优化网页收录;
更好的用户体验:没有重复的页面,用户会更好地记住我们的网站,提高网站的记忆力,获得更好的用户体验。
网站不带 www 二级域名的缺点
- 少数用户可能无法将 etufo.org 识别为网址;
- 少数用户只会识别带 www 网址格式的二级域名
www.etufo.org
顶级域名如何301重定向到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软件为例,在【工具】→【选项】 ▼
【常规】→勾选【显示隐藏文件】 ▼
在此分享通用的带 www 域名重定向到不带www的域名规则,以及不带www的域名跳转到带www的域名规则。
带 www 域名重定向到不带www的域名规则
将带www的顶级域名301重定向到根域名规则 ▼
RewriteEngine on RewriteCond %{HTTP_HOST} ^www.chenweiliang.com [NC] RewriteRule ^(.*)$ http://chenweiliang.com/$1 [L,R=301]
以下带www的顶级域名301重定向到根域名规则,可直接复制(无需修改规则里的域名) ▼
RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
不带www的顶级域名跳转到带www的域名规则
不带www的顶级域名跳转到带www的域名规则 ▼
RewriteEngine On RewriteCond %{http_host} ^chenweiliang.com$ [NC] RewriteRule ^(.*)$ http://www.chenweiliang.com/$1 [R=301,L]
以下不带www的顶级域名跳转到带www的域名规则,可直接复制(无需修改规则里的域名) ▼
RewriteEngine On RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
301重定向规则位置问题
在伪静态规则下,放置重定向跳转规则时,通常会遇到 http 无法全站重定向到 https 的问题。
最初我们将重定向代码复制到.htaccess中,它将出现在以下情况 ▼
- [L]表示当前规则是最后一条规则,停止分析后面重写规则。
- 因此在访问重定向的文章页面时,[L]停止了后面的规则,所以重定向规则不能起作用。
访问http主页时,我们希望触发网址重定向,跳过伪静态规则以执行重定向跳转规则,以便可以实现全站 http 重定向到 https 。
不要将https重定向规则放在 [L] 规则的下面,要放在 [L] 规则上面 ▼
网站主域名有没有必要重定向www?
如果你直接使用如 chenweiliang.com
这样的顶级域名作为你的博客域名,那么使用子域名作为图床不能实现Cookie-free。
- 因为顶级域名
chenweiliang.com
会向所有被请求的静态文件的二级域名服务器发送cookie。
如果你想支持Cookie-free的图床,则需要使用不同的域名来实现Cookie-free。
- 陈沩亮博客使用
www.chenweiliang.com
的子域名没有问题。
详情请浏览此文 ▼
如果需要排除301重定向绕过伪静态例外文件夹目录,请查看下方教程 ▼
希望陈沩亮博客( https://www.chenweiliang.com/ ) 分享的《不带www顶级域名自动跳转访问二级域名:根域名301重定向www》,对您有帮助。
欢迎分享本文链接:https://www.chenweiliang.com/cwl-27630.html
喜欢就分享和按赞!您的分享和按赞,是我们持续的动力!