SEO教程
当前位置:主页 > SEO教程 >
解决百度收录不带www和带www的域名页面问题
时间:2018年07月06日 来源:原创 作者:大葱 浏览:

  有的时候我们会发现自己的网站同时收录了不带www和带www域名的页面,这是什么问题呢?

  其实是域名解析过程中的问题。

  很多朋友在购买主机、域名之后,在不需要备案的情况下直接就将域名解析到对应主机上,解析过程中一般都是两个域名都解析,即:www.域名和.域名。这个过程很简单,但是解析之后是不是就没问题了呢?不是的,搜索引擎抓取网页是顺着域名来的,其中有一个识别的过程,也就是识别我们的这两个解析过的域名哪一个为首选域名,通常我们所遇到的抓取了不带www的域名情况也即为搜索引擎认定不带www的域名为我们的主域名。

  以上是出现此种情况的大致原因,既然搜索引擎出现认知错误,那么我们如果想解决这个问题,就需要帮助搜索引擎纠正认知,让搜索引擎认为带www的域名才是我们的主域名,真正想要它抓取的。

  一、不带www的域名全部做301重定向

  新手朋友这里可能有些疑惑了,可能会说我从来没有做过301重定向,也不懂什么是301,这里大家没必要感觉很KB,因为懂不懂什么是301不是关键,简单设置问题即可解决。这里以我的网站为例:

  解决方法:

  登陆主机控制面板之后,一般后台都会有重定向点击入口,进入之后选择301重定向这里要求您的主机必须支持301重定向,不过一般的主机都支持此功能。将全部已经被搜索引擎抓取的不带www的网页均作301重定向至带www的域名,这种方法博方试了不是立即生效,网上说是三五天内即可解决此问题。但是博主是个急性子,不想等几天再去验证。于是有第二种方法。


301重定向

  二、代码实现重定向

  先声明一下这个方法是属于linux系列主机!!!

  步骤1:创建一个htaccess.txt的文本文件,因为通常我们用的是windows系统电脑,在windows系统下无法直接创建.htaccess,所以暂时先创建htaccess.txt

  步骤2:将以下代码复制进htaccess.txt文本文件中

  RewriteEngine On

  RewriteCond %{http_host} ^hgj1688.com$ [NC]

  RewriteRule ^(.*)$ http://www.hgj1688.com/$1 [R=301,L]

  ---------------------------------分割线--------------------------------------

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

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

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

  步骤3:然后利用FTP工具把htaccess.txt文本文件上传网站的根目录改名为.htaccess 注意:htaccess前面有个点。

  这里需要注意一下有的主机已经在根目录自动生成.htaccess文件,这种时候你只需把代码复制进去到相关的位置就可以了。(这样问题就解决了!)

  下面说一下windows系列主机的解决方法(我自己没有测试过)!!!

  步骤1:在电脑新建一个记事本文件,名字为httpd.ini

  步骤2:给httpd.ini文件中添加以下代码[ISAPI_Rewrite]# 3600 = 1 hourCacheClockRate 3600RepeatLimit 32RewriteCond Host: ^hgj1688.com$RewriteRule (.*) http://www.hgj1688.com$1 [I,RP][ISAPI_Rewrite]

  步骤3:把上面文件中的 hgj1688.com换成你的网站域名,比如你的域名是hgj1688.com 那么则为 hgj1688.com