教你如何通过iis和apache及PHP页面设置301重定向

作者: unvs 分类: 电脑网络 发布时间: 2013-07-03 23:21 ė14,291 views 6没有评论

博主学习并实践了301重定向各种方法,通过搜索引擎参考学习了一些资料,发现很多是COPY,或将的不明不白的,这里总结一些比较常见并实用的方法,当然,不一定适合每个人,闲话不多说,直入主题。

本文将通过IIS、APACHE、ASP、PHP几种服务器端或页面程序端分别讲解如何设置301重定向,先还是简单介绍下重定向。
301重定向:指的是一种非常重要的“自动转向”技术–其实谈不上技术,即网址重定向–用户访问一个地址或目录,可以指定跳转到另一个地址。
301重定向,这是所有重定向方法中唯一符合搜索引擎规则的重定向,这也是SEO中的一个基础名词,比方:一个站用www.unvs.cn、unvs.cn绑定,就会存在2个权重,如果将unvs.cn重定向到www.unvs.cn,就会权重集中,相应增加权重值。

1、IIS服务器上设置301重定向
准备工作:你要有服务器设置权限,可以随意开通新的虚拟空间!
第一,新建一个虚拟空间,将你需要进行重定向的域名与之解析绑定;
第二,我的电脑–>打开“控制面板”–>“管理工具”–>打开“Internet 信息服务”,左侧会有树形菜单,找到你的网站–右键“属性”–选择“主目录”选项卡,再选择“重定向到URL”,然后在地址框栏输入需要定向的目标域名,最后将选项卡中的“资源的永久重定向”选择上,点击“确定”完成操作。属性界面设置,如下图所示:

2、Unix/linux主机上apache设置301重定向

新建.htaccess文件,输入下列内容(需要开启mod_rewrite):  
1)将不带WWW的域名转向到带WWW的域名下
Options +FollowSymLinks
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^unvs.cn [NC]
RewriteRule ^(.*)$www.unvs.cn/301/[L,R=301]  

2)重定向到新域名
Options +FollowSymLinks
RewriteEngine on 

RewriteRule ^(.*)$www.unvs.cn/301/ [L,R=301]

3)使用正则进行301转向,实现伪静态

Options +FollowSymLinks
RewriteEngine on 
RewriteRule ^article-(.+).html$ article.php?id=$1 
将article.php?id=123这样的地址转向到article-123.html

3、ASP程序页面中设置301重定向代码
在公共头部文件或全局调用文件里,加上如下代码:
<%@ Language=VBScript %>

<%
if request.ServerVariables("SERVER_NAME")!="www.unvs.cn" then
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", "http://www.unvs.cn"
Response.End 
end if
%>
原理:判断请求的server_name,是否与主目标网址一样,不一样则重定向

4、PHP程序页面中设置301重定向
代码如下:(比较完美的写法)
$host= ‘www.unvs.cn‘; //你目标定向的网址 
if ($_SERVER['HTTP_HOST'] != $host)//若不是则进行重定向,后面页面参数不变
{ header("HTTP/1.1 301 Moved Permanently"); header("Location: http://{$host}{$_SERVER[REQUEST_URI]}");
}
unset($host);

原理:首先定义目标定向网址,然后判断当前请求访问的host是否一致,若为否,则进行重定向

写完之后,发现之前写了一篇:页面实现跳转的几种方法(针对各种语言,重定向也提到了,感兴趣可以看下)

本博文章基本上属于原创或收集整理,都是心血结晶。
欢迎转载分享,转载请注明出处,谢谢!
本文地址:教你如何通过iis和apache及PHP页面设置301重定向

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Ɣ回顶部