做网站优化,我们基本知道url标准化需要采用301重定向。重定向说直白点,就是通过方法将各种网络请求重新定个方向转到其它位置,也就是通常说的,网页跳转。那么如何设置和制作301重定向呢?下面列举几个比较常见的情况:
步骤/方法
第一种:对整个网站的多个页面设置301重定向方法
如果要对整个网站设置301重定向的话,建议大家还是单独建立一个301.php,文件名可以自己取。代码如下:
<?php
$the_host = $_SERVER['HTTP_HOST']//取得进入所输入的域名[网址:像www.siyuan-seo.com]
$the_url = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : ''//判断地址后面部分
$the_url = strtolower($the_url)//将英文字母转成小写
if($the_url=="/index.php") //判断是不是首页
{
$the_url=""//如果是首页,赋值为空
}
if($the_host !== 'www.icoa.cn')//如果域名不是带www的网址那么进行下面的301跳转
{
header('HTTP/1.1 301 Moved Permanently')//发出301头部
header('Location:http://www.siyuan-seo.com'.$the_url)//跳转到带www的网址
}
?>
注 意一下:代码if($the_host !== 'www.siyuan-seo.com')中的“!==”是不完全等于的意思,也可以用“!=”不等于,这样,除了可以将siyuan-seo.com 跳转到带www的网址,还可以把所有绑定到这个空间的域名跳转的www.siyuan-seo.com。
301.php文件写好后,用ftp软件上传到网站根目录下,一般就是web文件下。那么怎么调用呢?其实也很简单。
在需要设置301重定向的页面中调用301.php,代码:<?php include("301.php")//301重定向 ?>将这个代码放到你所有网页的最前面,这样就做好了。如下图:
2
第二种:网站单个页面设置301重定向方法
如果仅仅是网站中某个单页面进行301重定向设置,其实很简单,只要在PHP页面的头部加上下面两行代码就可以了:
<?php
Header("HTTP/1.1 301 Moved Permanently")
Header("Location: http://www.siyuan-seo.com")
?>如下图:
其实,大多数情况下,我们一般是不需要设置301重定向的,用到的情况也是很少,大家知道怎么做就可以了。
当你发现自己的才华撑不起野心时,就请安静下来学习吧
301转向(或叫301重定向,301跳转),是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。一般使用301跳转是网站改版、更换域名等情况下。让老的域名收录转移到新的域名下,尽量减小因网站改版、更改域名对流量的影响。
在开始做SEO的时候,我们经常会把非www跳转到www域名下,这就是设置301跳转;
简单的设置可以在服务器中添加,复杂的就需要写规则了。需要程序员的协助。
ASP下的301转向代码<%@ Language=VBScript %>
<%
Response.Status=”301 Moved Permanently”
Response.AddHeader “Location”, “http://www.xxx.com”
%>
3、ASP.Net下的301转向代码
<script runat=”server”>
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = “301 Moved Permanently”
Response.AddHeader(”Location”,”http://www.XXX.com“)
}
</script>
4、PHP下的301转向代码
header(”HTTP/1.1 301 Moved Permanently”)
header(”Location: http://www.XXX.com”)
exit()
5、CGI Perl下的301转向代码
$q = new CGI
print $q->redirect(”http://www.new-url.com/”)
6、JSP下的301转向代码
<%
response.setStatus(301)
response.setHeader( “Location”, “http://www.XXX.com/” )
response.setHeader( “Connection”, “close” )
%>
7、Apache下301转向代码
新建.htaccess文件,输入下列内容(需要开启mod_rewrite):
1)将不带WWW的域名转向到带WWW的域名下
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^XXX.com [NC]
RewriteRule ^(.*)$ http://www.XXX.com/$1 [L,R=301]
2)重定向到新域名
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ http://www.XXX.com/$1 [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.XXX.com
DocumentRoot /home/love07
</VirtualHost>
<VirtualHost *:80>
ServerName XXX.com
RedirectMatch permanent ^/(.*) http://www.XXX.com/$1
</VirtualHost>
Apache下除了以上2种方法,还有其他配置方法和可选参数,建议阅读Apache文档 。
301转向情况检测
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)