不带www域名自动跳转到带www域名的方法
2018-01-30| 程成| 1941| 2| 网站优化

最近发现自己的网站被同时收录了带 www 域名和不带 www 域名的两个域名,这样不利于 SEO 权值集中和后续优化。怎么样才能解决?这样就需要将不带 www 的域名301永久重定向到带 www 的域名。下面是我整理解决的方法。


下面都是基于 Linux 系统实现的!


一、新建 .htaccess 文件


一般情况下我们用的都是 windows 系统,无法直接新建 .htaccess 文件。我们首先新建个 htaccess.txt 文件,后面会介绍如何修改名称。



二、将下面这段代码复制到 txt 中


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


“RewriteEngine On”,开启 Rewrite 规则开关;

“RewriteCond”指重写的条件。后面的字符串通过正则表达式进行匹配,匹配字符串以 ^ 开头并以 $ 结尾。此处 %{http_host} 获取当前主机名称。条件为“当主机名称为 cc1021.com”时执行下列的重写规则。其中“[NC]”指不区分大小写;

“RewriteRule”,定义一条重写规则。此处含义:跳转到“http://www.cc1021.com/”接上访问请求的网址中  cc1021.com 后面的部分。[R=301] 指重写为 301 重定向/跳转([R] 单指跳转,意义等同 [R=302]),[L] 指最后一条匹配规则。



三、上传 htaccess.txt 文件并修改名称


用 FTP 工具将 htaccess.txt 文件上传到网站根目录下,并且修改名称为“.htaccess”,注意前面有个点。如果文件已存在,则将代码复制进去。


这样,你访问不带 www 的域名便会自动跳转到带 www 的域名下了。通过以上方法,你可以实现不带 www 域名自动跳转到带 www 域名。



注:这里修改完你可能发现文件不见了,这是因为“.htaccess”文件被认为是隐藏文件,没有显示。你可以打开 FTP 工具,这里以 XFTP为例,【工具】-【选项】-【常规】-【显示隐藏文件】设置下即可。


image.png


image.png



带 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]




×
作者:程成
QQ:492245711