问题
搜索引擎认为http://domain-name.com/和http://www.domain.com/ 是完全不同的域名。如果你的网站与注册了两个URL的网站链接,实际上就等同于破坏了网站的价值及链接流行度潜在的利益。
解决方案
在服务器理解,对“non-www”版域名进行301重定向,实质上就是“永久”的重定向,这样就可以把你的链接流行度有效地固定在一个单独的URL上。这种固定有助于你网站获得及维持高排名。
如何进行301重定向
通知服务器你想将你网站的流量完全重定向到另一个URL上。首先,确定你的网站在哪种服务器上运行。主要有Microsoft 和 Apache (Linux/Unix)两种服务器可供使用。确定服务器类型后,请遵循其后面的相关指令来实现重定向。注意,这对于有技术知识基础的人来说是再好不过的了。
Apache服务器实现301 重定向
确保你主机提供商的Apache Rewrite Module组件已经打开,这是实现301重定向功能的必要前提。多数情况下,这个组件未被激活,只要点击激活就可以。
进入服务器上的httpd.conf文件,那么你就可以自行激活这些组件了。打开httpd.conf文件,若出现错误,请在错误处返回,忽略下面这一行信息:
LoadModule rewrite_module modules/mod_rewrite.so
然后保存文件,重启服务器,按照下列步骤进行
从你网站的原文件夹中找出httpd.conf文件,将它下载到你机器中某个可以编辑该文件的文件夹中。
复制httpd.conf文件,保存到安全的地方─但不要编辑这个复制文件;需要旧版本httpd.conf文件时,以供使用;
打开下载在写字板中的原httpd.conf文件
将下面代码添加到httpd.conf文件中。用你自己网站的域名信息代替“example.com”,注意不要更改其他地方。
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
将更改的httpd.conf文件上传到从你网站上下载它的原位置
上传完成后,打开浏览器,访问你网站的“non-www”的那个地址。如果.htaccess文件执行任务的话,浏览器的地址栏中会立即显示出你的“www”的这个域名,那么你已经被重定向到这个地址上了。
想确保重定向准确无误,建议访问this URL这里,在HTTP Server Header Checker检测工具中输入你的“non-www”的网站地址检测一下结果。这个工具可以报告服务器是否提供301重定向功能。搜索引擎访问网站时会检查这一点的。结果如下就是正确的:
#1 Server Response: http://example.com/
HTTP Status Code: HTTP/1.1 301 Moved Permanently
Date: Wed, 14 Mar 2007 22:49:28 GMT
Server: Apache/1.3.27 (Unix) PHP/4.4.1 FrontPage/5.0.2.2510 mod_ssl/2.8.14 OpenSSL/0.9.6b
Location: http://www.example.com/
Connection: close
Content-Type: text/html; charset=iso-8859-1
Redirect Target: http://www.example.com/
#2 Server Response: http://www.example.com/
HTTP Status Code: HTTP/1.1 200 OK
Date: Wed, 14 Mar 2007 22:49:28 GMT
Server: Apache/1.3.27 (Unix) PHP/4.4.1 FrontPage/5.0.2.2510 mod_ssl/2.8.14 OpenSSL/0.9.6b
Connection: close
Content-Type: text/html
恭喜您,重定向已完成。
如果重定向不能执行命令,请恢复保存在网站中的.htaccess 后备文件。恢复后返回检查电脑中校订过的.htaccess文件,和上面的指令进行对比保证没有错误存在。如没有错误,服务器会要求提供一些专门的程序,但也许它们不是常见的问题。如想获得更多信息请联系你的主机供应商。
B)Microsoft IIS服务器实现301重定向
微软服务器提供的.htaccess文件是不允许更改的,所以想更改这个文件,请联系你的主机供应商,让他们帮你完成。如果它们也不知道怎样做或需要如何更改的详细信息,将下面的参考指导提供给他们:
1.用因特网服务管理器创建一个基于http://example.com/这个URL的新IP地址,或者你也可以用http://www.example.com/主机头(虚拟网站)的IP代替特定的IP。
2.用Server Header Checker检测工具检测每个网站的服务器域名。服务器对两个地址的反映都是200 OK。
3.将更改后的域名的ASP代码添加http://example.com/的默认首页中,如下所示:
< %@ Language=VBScript %>
< %
Response. Status="301 Moved Permanently"
Response.AddHeader "Location", http://www.example.com/
%>
切记:不要改变其他代码的空格和行的位置,按原样放置。
4.一旦服务器的默认页通过http://example.com/先访问你的网站,确保重定向已经执行命令。用check the server headers检测工具检测http://example.com/。如看到下面含有#1: "HTTP Status Code: HTTP/1.1 301 Moved Permanently"的代码,表示你的重定向指令正在被下达,配置完成。 (DVOL本文转自:中国DV传媒 http://www.dvol.cn)