大部分人用的是虛擬空間,這篇文章講解如何用支援ASP的虛擬空間來設定301重定向,但是你的程式必須是全站ASP,如果是生成靜態的程式,是不行的,話不多說,我們繼續:比如你現在的網域: www.a.com 由於某種原因要換www.b.com 網域了,但是又怕流量遺失,怎麼辦呢,別怕,可以用301重定向完全可以把www.a.com 或www.a.com/*全部導到www.b.com或www.b.com/* 網域下面來。
用你的虛擬空間同時綁定www.a.com 和www.b.com 在你的asp程式裡面找conn.asp 或head.asp 這些檔案,也就是全站都能存取到的檔案,在最上面加上下面的這段程式碼就可以了.
這樣你的www.b.com 訪問正常但是www.a.com 訪問的時候會自動跳到www.b.com 的域名下面去訪問www.a.com/* 下面的網頁訪問也會自動全部跳到www.b.com/* 下面。
<%
if request.ServerVariables(HTTP_HOST)<>www.b.com then
if Request.ServerVariables(SCRIPT_NAME)=/index.html then
Response.Status=301 Moved Permanently
Response.AddHeader Location,/index.html
else
if Request.ServerVariables(QUERY_STRING)<> then
p=?
else
p=
end if
Response.Status=301 Moved Permanently
Response.AddHeader Location,http://www.b.com&Request.ServerVariables(SCRIPT_NAME)&p&Request.ServerVariables(QUERY_STRING)
Response.End
end if
end if
%>
如果你使用的並不是全站動態程序,而是產生靜態的程序,請使用下面的代碼來進行域名也就是首頁的301永久重定向。
ASP程式的301重定向
<%
Response.Status=301 Moved Permanently
Response.AddHeader Location,http://www.vevb.com
%>
PHP下的301重定向
PHP程式的301重定向
<?
Header( HTTP/1.1 301 Moved Permanently ) ;
Header( Location: http://www.vevb.com );
?>
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.vevb.com);
}
</script>