|
發表於 2017-1-13 09:36:00
|
顯示全部樓層
|
在我們的網站建設中,時常會碰到需要網頁重定向的情況:象網站調整,如改變網頁目錄結構,網頁被移到一個新地址,再或者,網頁擴展名改變,如因應用需要把.php改成.Html或.shtml,在這種情況下,假如不做重定向,則用戶收藏夾或搜索引擎數據庫中舊地址只能讓訪問客戶還會得到一個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重定向只是其中之一。
通過合理地配置重定向參數中的正則表達式,可以實現更復雜的匹配。有愛好的朋友可參考本站Apache手冊。
PHP下的301重定向
<?
<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://www.bloghuman.com"
%>
ASP .NET下的301重定向
<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = "301 Moved Permanently";
Response.AddHeader ("Location"," |
|