1、Linux主機重新導向
Godaddy的Liunx主機,Godaddy本身已經支援Apache,所以直接建立一個.htaccess檔案就可以了,一般來說,在本地無法建立.htaccess的時候可以先建立一個txt格式檔案,上傳到根目錄的時候再重新命名為".htaccess"就可以了。網上很多如何進行 301重新導向的教程,無論是整站重新導向還是單頁重新導向。下面就以我的www.jb51.net為例
1.1 無www網域名稱轉移到www網域名稱
複製代碼 代碼如下:
RewriteEngine on
rewritecond %{http_host} ^jb51.net [nc]
rewriterule ^(.*)$ http://www.jb51.net/$1 [r=301,nc]
1.2 整站301重新導向
複製代碼 代碼如下:
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^jb51.net [NC]
RewriteRule ^(.*)$ http://www.jb51.net/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^www.jb51.net [NC]
RewriteRule ^(.*)$ http://jb51.net/$1 [L,R=301]
另外一種是在根目錄下的index.php裡這樣弄
複製代碼 代碼如下:
header("HTTP/1.1 301 Moved Permanently");
header("Location:http://jb51.net/");
exit();
2、ASP主機301重新導向
在 index.asp 或 default.asp 的最頂部加入以下幾行:
代碼如下:
複製代碼 代碼如下:
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://www.jb51.net "
Response.End
%>
3、ASP.net主機301重新導向
ASP .NET:
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://www.jb51.net");
}
我封裝在一個類裡:
複製代碼 代碼如下:
using System;
using System.Collections.Generic;
using System.Text;
using System.Web.UI;
using System.Web.UI.HtmlControls;
namespace ClassLib
{
public class URLClass
{
private bool flag301 = false;//是否啟動 301
private bool isIndex = false;//是否 返回首頁 或者保留在當前頁
/// <summary>
/// 建構函式
/// </summary>
/// <param name="fl">是否啟動 301</param>
/// <param name="page">Page</param>
/// <param name="strURL">格式www.xxx.com</param>
public URLClass(bool fl, Page page, string strURL)
{
flag301 = fl;
URL301(page, strURL);
}
/// <summary>
/// 返回首頁
/// </summary>
/// <param name="page"></param>
/// <param name="strURL">格式www.xxx.com</param>
public void URL301(Page page, string strURL)
{
//301重新導向
if (page.Request.Url.DnsSafeHost != strURL && flag301 == true)
{
page.Response.Clear();
page.Response.StatusCode = 301;
page.Response.Status = "301 MovedPermanently";
page.Response.AddHeader("Location", "http://" + strURL);
page.Response.End();
}
}
}
}
4 PHP的301重新導向
複製代碼 代碼如下:
header('HTTP/1.1 301 Moved Permanently');//發出301頭部
header('Location: http://www.'.$strDomain.$request_uri);//跳轉到我的新網域名稱地址
我用301.inc.php檔案寫了301代碼,在其他檔案頭部都引用上 就可以了
複製代碼 代碼如下:
<?php
//-----------------------------------
//301 重新導向
$strDomain="chinawecan.com";
$the_host = $_SERVER['HTTP_HOST']; //取得進入所輸入的網域名稱
$request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';//判斷地址後面部分
if($the_host !== 'www.'.$strDomain) //這是我要以前的網域名稱
{
/*"!=="是不完全等於的意思,也可以用"!="不等於,這樣,就可以將以前的網域名稱,
包括gcxirang.com、www.gcxirang.com以及新網域名稱中我gcidc.net全部重新導向到www.gcidc.net*/
header('HTTP/1.1 301 Moved Permanently');//發出301頭部
header('Location: http://www.'.$strDomain.$request_uri);//跳轉到我的新網域名稱地址
}
//----------------------------------
?>
引用如下:
複製代碼 代碼如下:
<?php
//-----------------------------------
//301 重新導向
include('include/301.inc.php');
?>
5 JSP的301重新導向
如一頁面article.jsp
[code]
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
response.setHeader("Location","/other.jsp");
return;
%>
[code]
在apache中如何?301轉向呢?
編輯.htaccess的方法。
注意:在設定301重新導向之前務必備份相應目錄下的.htaccess檔案。
1.重新導向domain.com到www.domain.com
這種重新導向旨在使網域名稱唯一,是網站SEO必須要做的,後面重新導向www.domain.com到domain.com也是出於同樣的原因,只是形式不同。
開啟.htaccess檔案,加入以下規則。(下面的規則是針對主網域名稱的,子網域名稱要修改)
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
2.重新導向www.domain.com到domain.com
RewriteEngine On
RewriteCond %{HTTP_HOST} !^domain.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301]
3.重新導向olddomain.com到www.newdomain.com
RewriteEngine On
RewriteCond %{HTTP_HOST} !olddomain.com$ [NC]
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [L,R=301]
4.重新導向olddomain.com to newdomain.com
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !olddomain.com$ [NC]
RewriteRule ^(.*)$ http://newdomain.com/$1 [L,R=301]
5.重新導向domain.com/file/file.php 到 otherdomain.com/otherfile/other.php
RewriteCond %{HTTP_HOST} ^www.domain.com$
RewriteRule ^file/file.php$ http://www.otherdomain.com/otherfile/other.php [R=301,L]