为什么需要使用301重定向:
1. 保留搜索引擎的排名: 301 重定向是最有效的方法,不会影响到搜索引擎对页面的排名。
2. 保留访客和流量: 如果你将页面链接到大量方法可以访问过的地址,如果不是用重定向的话你就会失去这些用户(不解)原文:If you move your popular page to which a lot of visitors have already linked, you may lose them if you don't used redirect method. This provides a great way to provide your visitors with the information they were looking for and prevent you from losing your traffic.
下面是 11 中实现 301 重定向的方法:
1. HTML 重定向/Meta 刷新
将下面 HTML 重定向代码放在网页的 <head> 节点内:
<meta HTTP-EQUIV="REFRESH" content="0; url=http://www.yourdomain.com">
上述代码立即将访客重定向到另外一个页面,你可以修改 content 中 的 0 这个值来表示几秒钟后才进行重定向。例如 content="3; url=http://www.oschina.net/" 表示三秒后再重定向。
2. PHP 重定向
<? Header( "HTTP/1.1 301 Moved Permanently" ); Header( "Location: http://www.new-url.com" ); ?>
3. ASP Redirect
<%@ Language=VBScript %> <% Response.Status="301 Moved Permanently" Response.AddHeader "Location","http://www.new-url.com/" %>
4. ASP .NET Redirect
<script runat="server"> private void Page_Load(object sender, System.EventArgs e) { Response.Status = "301 Moved Permanently"; Response.AddHeader("Location","http://www.new-url.com"); } </script>
5. JSP Redirect
<% response.setStatus(301); response.setHeader( "Location", "http://www.new-url.com/" ); response.setHeader( "Connection", "close" ); %>
6. CGI PERL Redirect
$q = new CGI; print $q->redirect("http://www.new-url.com/");
7. Ruby on Rails Redirect
def old_action headers["Status"] = "301 Moved Permanently" redirect_to "http://www.new-url.com/" end
8. ColdFusion Redirect
<.cfheader statuscode="301" statustext="Moved permanently"> <.cfheader name="Location" value="http://www.new-url.com">
9. Javascript URL Redirect
<head> <script type="text/javascript"> window.location.href='http://www.newdomain.com/'; </script> </head>
10. IIS Redirect
在 Internet 服务管理器中右击你想要重定向的文件和文件夹,选择 "a redirection to a URL".
然后输入目标网址,选中 "The exact url entered above" 和 "A permanent redirection for this resource" 然后点击 'Apply' 按钮。
11. 使用 .htaccess 进行重定向
创建一个 .htaccess 文件(代码如下)用来将访问呢 domain.com 重定向到 www.domain.com 下,该文件必须放置在网站的root目录,也就是首页放置的目录。
Options +FollowSymlinks RewriteEngine on rewritecond %{http_host} ^domain.com [nc] rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc]
注意: .htaccess 方法的重定向只能在 Linux 下使用 Apache 的 mod_rewrite 模块启用的情况下使用。