怎么做网站301重定向
301跳转(永久重定向)作用相比javascirp 跳转、mete refresh跳转,php 等动态语言reditect ,301跳转对搜索引擎最友好,避免作弊嫌疑。转移流量、权重。不会浪费在原ur
301跳转(永久重定向)
作用
相比javascirp 跳转、mete refresh跳转,php 等动态语言reditect ,301跳转对搜索引擎最友好,避免作弊嫌疑。
转移流量、权重。不会浪费在原url 上的工作成果。
解决网址规范化问题。如a.com ,www.a.com ,www.a.com/index.php实际返回都是主页内容,但他们却是不同的URL ,对SE 来说不但是重复内容,更分散了权重, 因此可用301转向到同一URL 。
原理
根据HTTP 协议,客户端向服务器发出请求,服务器返回数据应答头中状态码为301,表示永久转移到loction 字段中的URL 。
实现
DNS 服务器
一般DNS 服务器都提供URL 转发功能,而且大部分用的就是301转发,如果虚拟主机服务器不支持301跳转、或者无法用程序实现时。可以使用域名服务器实现转发,DNS 实现的301转发功能简单,只能实现域名、子目录等跳转, 另外特别注意有的DNS 服务器转发不一定是301,所以要检测一下。
WEB 服务器
apache 需要加载rewrite 模块,然后在主机配置中或者在网站的.htaccess 文件中写rewrite 规则进行URL 跳转设置。IIS 同样可以加载rewrite 模块,然后在httpd.ini 文件中写rewrite 规则。如果能够控制IIS 服务器,可以选中要跳转的域名或目录,图形方式设置资源重定向。 Options FollowSymLinks
RewriteEngine on
rewritecond {http_host} ^mmmstar.com [nc]
rewriterule ^(.*)$ http://www.mmmstar.com/$1 [r=301,nc]
或者
RewriteEngine On
RewriteCond {HTTP_HOST} !^mmmstar.com$ [NC]
RewriteRule ^(.*)$ http://www.mmmstar.com/$1 [L,R=301]
表示整站所有的以带www 的域名www.nmmmstar.com 为地址的网页都会301转向到不带www 的域名mmmstar.com 不仅是首页,子目录/网页也可以) 。如果是其他域名要重定向到 mmmstar.com 这个新域名,则在.htaccess 文件中加入如下重定向代码:
Options FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ http://www.mmmstar.com/$1 [L,R=301]
动态网页程序
PHP 的301跳转代码:
Header("HTTP/1.1 301 Moved Permanently");
Header("Location: http://www.xx.com");
,?>
网站改版后导致URL 方式改变了,如老页面url 是www.a.com/page.html,新页面url 则是www.a.com/?p=3,老页面已不能访问了,新页面又没被收录,如果两个页面都保留的话,或许新页面就永远不会被收录了,因为内容重复了。这个时候就可以通过301跳转把老页面跳转到新的页面。
两个域名绑定了同一个空间,两个域名都被搜索引擎收录了,而只想用其中一个域名。不然会内容复制的。可以用301跳转。
在购买域名时,域名本身是不带有www 的,由于在以前网站方都会增加一个"www" 的子域名来帮助客户以更多的路径访问网站,客户会养成在网站前添加www 来访问网站的习惯,所以如果没有做www.*.com的解析的话客户输入www.*.com便不能访问,基于此,一些域名提供商会自动帮购买者做了这个"www" 的解析,这样带"www" 的和不带两个域名同时可以访问一个同样的内容。但是这样的话,会分散某个域名的流量与PR 值,最好的解决方案是将所有访问用301跳转定向到某个域名下。
URL 转发
url 转发有两种方式,隐藏转发和(url 转发后浏览器地址栏输入的网址不变)不隐藏转发(也叫显性转发:url 转发后地址栏显示的地址为转发后的网址)。不管是隐藏转发还是不隐藏转发,根据不同的域名注册服务商,可能会返回不同的http header。有的会使服务器返回302状态码给搜索引擎,而不是301 http 状态码。有的是通过给浏览器窗口套用一个框架iframe 的方式来实现隐藏转发,有的则是使用Javascript 或Meta Refresh 来实现不隐藏方式的url 转发,不一定是真正用到301重定向,所以,应该尽可能少用url 转发功能。