设置网站301跳转(全)
当有多个域名指向你的站点时,301跳转是每个网站常用的一种页面跳转方式,针对SEO来说,作用有以下几点:
1,301跳转是搜索引擎认可的一种跳转方式,也就是说通过这种方式从一个网址跳转到另外一个网址并不会受到搜索引擎的惩罚。
2,上面说过这种跳转方式是搜索引擎认可的,搜索引擎的设计者以及考虑到一个域名并不一定会跟随一个网站一辈子,利用这种跳转方式可以让搜索引擎认为您“永久”放弃这个域名并启用了新的域名,那么搜索引擎会把你的老域名相应权重转移到新的域名上来。不过这里要说明一下,并不是通过301跳转就能使权重完全转移的,这个还有很多因素决定。301只能说可以让损失减少到最低。
301的具体设置方式
1、IIS下301设置
Internet信息服务管理器 -> 虚拟目录 -> 重定向到URL,输入需要转向的目标
URL,并选择“资源的永久重定向”。
想了解更详细的方法:IIS下万能301跳转方法
2、ASP下的301转向代码
<%@ Language=VBScript %> <% if request.ServerVariables("SERVER_NAME")="fanhefan.com" then Response.Status="301 Moved Permanently" Response.AddHeader "Location", "www.fanhefan.com" Response.End end if %>
3、ASP.Net下的301转向代码
<script runat='server'> private void Page_Load(object sender, System.EventArgs e) { Response.Status = '301 Moved Permanently'; Response.AddHeader('Location','www.fanhefan.com/301/'); } </script>
4、PHP下的301转向代码
if($HTTP_SERVER_VARS["HTTP_HOST"]=="fanhefan.com) { header("HTTP/1.1 301 Moved Permanently"); header("Location: www.fanhefan.com"); }
5、CGI Perl下的301转向代码
$q = new CGI; print $q->redirect("www.fanhefan.com/301/");
6、JSP下的301转向代码
<% response.setStatus(301); response.setHeader( "Location", "www.fanhefan.com/301/" ); response.setHeader( "Connection", "close" ); |%>
7、Apache下301转向代码
新建.htaccess文件,输入下列内容(需要开启mod_rewrite):
1)将不带WWW的域名转向到带WWW的域名下
Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^fanhefan.com [NC] RewriteRule ^(.*)$www.fanhefan.com/301/[L,R=301]
2)重定向到新域名
Options +FollowSymLinks RewriteEngine on RewriteRule ^(.*)$www.fanhefan.com/301/ [L,R=301]
3)使用正则进行301转向,实现伪静态
Options +FollowSymLinks RewriteEngine on RewriteRule ^news-(.+)\.html$ news.php?id=$1
将news.php?id=123这样的地址转向到news-123.html
8、Apache下vhosts.conf中配置301转向
为实现URL规范化,SEO通常将不带WWW的域名转向到带WWW域名,vhosts.conf中配置为:
<VirtualHost *:80> ServerName www.fanhefan.com DocumentRoot /home/seotest </VirtualHost> <VirtualHost *:80> ServerName fanhefan.com RedirectMatch permanent ^/(.*) www.fanhefan.com/301/ </VirtualHost>