301 重定向(iis,Apache,asp,php,ColdFusion,旧域名),永久重定向实现方法。

本文涉及的产品
.cn 域名,1个 12个月
简介:
 前次讲的《 网站结构如何优化、网站如何布局的知识》主要介绍了网站建设前期整站地结构布局。

        这次针对网站运行和网站改版等一些情况,需要网页重定向的:网站调整,如改变网页目录结构,网页被移到一个新地址,再或者,网页扩展名改变,如因应用需要把.php改成.Html或.shtml,在这种情况下,301 重定向(iis,Apache,php,asp,asp.net,ColdFusion,旧域名,二级域名),永久重定向实现方法。如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户还会得到一个404页面错误信息,访问流量白白丧失;再如某些注册了多个域名的网站,也需要通过重定向让访问这些域名的用户自动跳转到主站点,等等。

常用的重定向方式有: 301 redirect, 302 redirect 与 meta fresh

301 redirect: 301代表永久性转移(Permanently Moved),301重定向是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬移的情况,都建议使用301来做转址。

302 redirect: 302代表暂时性转移(Temporarily Moved ),在前些年,不少Black Hat SEO曾广泛应用这项技术作弊,目前,各大主要搜索引擎均加强了打击力度,象Google前些年对Business.com以及近来对BMW德国网站的惩罚。即使网站客观上不是spam,也很容易被搜寻引擎容易误判为spam而遭到惩罚

meta fresh: 这在2000年前比较流行,不过现在已很少见。其具体是通过网页中的meta指令,在特定时间后重定向到新的网页,如果延迟的时间太短(约5秒之內),会被判断为spam。 

301 Redirect实现网页重定向

IIS服务器实现301重定向
 


* 打开internet信息服务管理器,在欲重定向的网页或目录上按右键
* 选择“重定向到URL”
* 在“重定向到”输入框中输入要跳转到的目标网页的URL地址
* 选中“ 资源的永久重定向”(切记)
* 最后点击“应用”
 



Apache服务器实现301重定向

相比较来说,Apache实现起来要比IIS简单多了。在Apache中,有个很重要的文件.htaccess,通过对它的设置,可以实现很多强大的功能,301重定向只是其中之一。
 


Redirect permanent / http://www.mouseo.cn/ (将目录下内容重定向到http://www.mouseo.cn/ )
redirect permanent /index.php http://www.mouseo.cn/index.php?go=category_6(将网页index.php重定向到http://www.mouseo.cn/index.php?go=category_6)
 



通过合理地配置重定向参数中的正则表达式,可以实现更复杂的匹配。

PHP下的301重定向
 


<? 
Header( "HTTP/1.1 301 Moved Permanently" ) ;
Header( "Location: http://www.mouseo.cn" );
?
 



ASP下的301重定向
 


<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://www.mouseo.cn"
%>
 



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.mouseo.cn");
}
</script>
 




ColdFusion下的301重定向
 


<.cfheader statuscode="301" statustext="Moved permanently">
<.cfheader name="Location" value="http://www.new-url.com"> 
 



旧域名重定向到新域名
创建一个.htaccess文件,并将下面提供的代码写入文件内,它可以确保旧域名所有的目录或者网页正确的跳转到新域名内。

记住.htaccess文件一定要放在旧网站的根目录下,并且新网站要和旧网站保持相同的目录结构及网页文件

 


Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.mouseo.cn/$1 [R=301,L] 
 



请将上面的www.mouseo.cn修改成你想要跳转到的域名。
此外,我建议大家归总旧网站的外部链接,并联系相应的站点修改导入链链的URL,以指向新站点。

注意:.htaccess文件只有在使用安装有Mod Rewrite模块的Apache作为WEB服务器的Linux主机上才能起作用

域名301重定向到www的二级域名

在以前的文章中我反复提及过:www.mouseo.cn是mouseo.cn域下的一个二级域名,并对二级域名和一级目录之间如何选择以及网站结构优化做了一个详细的分析,有兴趣的可以读一下两篇文章,网站结构优化SEO中最重要。

OK,继续域301跳转到www二级域名的实现方式:

创建一个.htaccess文件,并将下面提供的代码写入文件内,它可以确保所有来自对mouseo.cn的请求都转向到对www.mouseo.cn进行请求。记住.htaccess文件一定要放在旧网站的根目录下,并且新网站要和旧网站保持相同的目录结构及网页文件

 


Options +FollowSymlinks
RewriteEngine on
rewritecond %{http_host} ^mouseo.cn [nc]
rewriterule ^(.*)$ http://www.mouseo.cn/$1 [r=301,nc] 
 

请将上面的mouseo.cn和http://www.mouseo.cn/修改成你想要跳转到的域名。

注意:.htaccess文件只有在使用安装有Mod Rewrite模块的Apache作为WEB服务器的Linux主机上才能起作用

 

301重定向检测工具

配置完成后,一定认真检查一下是否正确。Internet有很多类似的Server Header检查工具,如Check Server Headers Tool - HTTP Status Codes Checker

分类:  SEO

本文转自快乐就好博客园博客,原文链接:http://www.cnblogs.com/happyday56/archive/2008/05/14/1196104.html,如需转载请自行联系原作者
相关文章
|
7月前
|
域名解析 监控 网络协议
分享40个主机域名PHP源码,总有一款适合你
分享40个主机域名PHP源码,总有一款适合你
284 1
|
7月前
|
开发框架 .NET
ASP.NET Core NET7 增加session的方法
ASP.NET Core NET7 增加session的方法
95 0
|
7月前
|
开发框架 安全 .NET
IIS服务器发布ASP.NET项目
对于云服务器,程序员一般不会陌生,如果项目需要发布到现网,那么服务器是必不可缺的一项硬性条件,那么如何在云服务器上部署一个项目,需要做哪些配置准备,下面就由本文档为大家讲解,本篇以IIS服务器发布ASP.NET项目为例。
98 1
|
3月前
|
JavaScript 前端开发 安全
php学习笔记-普通表单参数提交获取及页面的重定向和一个登录小demo-day05
本文介绍了PHP中普通表单参数的提交获取、页面重定向的方法,并通过一个登录示例演示了表单参数的封装和页面跳转处理。
|
2月前
|
存储 开发框架 .NET
Windows IIS中asp的global.asa全局配置文件使用说明
Windows IIS中asp的global.asa全局配置文件使用说明
44 1
|
4月前
|
开发框架 .NET API
在IIS上部署ASP.NET Core Web API和Blazor Wasm详细教程
在IIS上部署ASP.NET Core Web API和Blazor Wasm详细教程
202 3
|
4月前
|
开发框架 中间件 .NET
分享 ASP.NET Core Web Api 中间件获取 Request Body 两个方法
分享 ASP.NET Core Web Api 中间件获取 Request Body 两个方法
168 0
|
4月前
|
开发框架 .NET API
如何在 ASP.NET Core Web API 方法执行前后 “偷偷“ 作一些 “坏“ 事?初识 ActionFilterAttribute
如何在 ASP.NET Core Web API 方法执行前后 “偷偷“ 作一些 “坏“ 事?初识 ActionFilterAttribute
|
4月前
|
开发框架 前端开发 .NET
Asp.net Webapi 的 Post 方法不能把参数加到 URL 中?试试这样写
Asp.net Webapi 的 Post 方法不能把参数加到 URL 中?试试这样写
|
6月前
|
PHP
php 获取带http或https的域名
php 获取带http或https的域名
184 4

推荐镜像

更多