頁面跳轉的方法以及301 和 302的區別


前言

在web開發的時候經常會遇到頁面重定向的問題,說起重定向就不得不說HTTP STATUS CODE 301 和302. 301 是Moved Permanently,也就是"永久轉移", 302則是Temporarily Moved,是"暫時轉移"。

在生產環境,建議使用301永久重定向,不使用302臨時跳轉,因為對於搜索引擎來說,會自動將原來頁面的收錄和權重轉移到新的頁面,有利於SEO.

一、C#實現301和302跳轉

把C#代碼寫在前台aspx頁面中,好處是不用編譯就可以發布。直接使用Redirect就是302跳轉。

<% Response.Redirect("http://www.qidian.com"); %> 

如果在跳轉的時候加一些HTTP HEADER,在.net 2.0下也可實現301永久轉移。

<%

    Response.Status = "301 Moved Permanently";
    Response.AddHeader("X-Message", "By fanyong @ SNDA");
    Response.AddHeader("Location", "http://www.qidian.com/");
    Response.Write("<head><title>Document Moved</title></head><body><h1>Object Moved</h1>This document may be found <a HREF=\"http://www.qidian.com\">here</a></body>");
    Response.End();
%>

當然,在高版本的Framework中,直接使用:
Response.RedirectPermanent() 實現301永久轉移。

二、js控制跳轉

<script type="text/javascript">
    window.onload=function redirct2qidian(){    
        window.location.href="http://www.qidian.com/";
    }
</script>

或者通過:

<meta http-equiv="Refresh" content="3; url=http://www.qidian.com" />

 

這2種方法的缺點是搜索引擎蜘蛛不會執行js,所以使用js跳轉不會把原來頁面的權重轉移到新的頁面,而且搜索引擎對於javascript重定向以及meta刷新會認定為欺騙而進行懲罰。因此不可取。

三、php實現 301跳轉

<?php
Header("HTTP/1.1 301 Moved Permanently");
Header("Location: http://www.baidu.com");
?>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM