重定向說白了就是通過各種的方法將各種網絡請求重新定個方向轉到其它位置。 下面和大家說說怎麼使用301重定向。
1、IIS下301設置
Internet信息服務管理器 -> 虛擬目錄 -> 重定向到URL,輸入需要轉向的目標URL,並選擇"資源的永久重定向"。
2、ASP下的301轉向代碼
- <%@ Language=VBScript %>
- <%
- Response.Status=”301 Moved Permanently”
- Response.AddHeader “Location”, “http://www.sem.cm/2011/03/19/how-to-do-a-301-redirect/”
- %>
3、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.sem.cm/2011/03/19/how-to-do-a-301-redirect/“);
- }
- </script>
- ?>
4、PHP下的301轉向代碼
- header(”HTTP/1.1 301 Moved Permanently”);
- header(”Location: http://www.sem.cm/2011/03/19/how-to-do-a-301-redirect/”);
- exit();
- ?>
5、CGI Perl下的301轉向代碼
- $q = new CGI;
- print $q->redirect(”http://www.sem.cm/”);
- ?>
6、JSP下的301轉向代碼
- <%
- response.setStatus(301);
- response.setHeader( “Location”, “http://www.sem.cm/” );
- response.setHeader( “Connection”, “close” );
- %>
- ?>
7、Apache下301轉向代碼
新建.htaccess文件,輸入下列內容(需要開啟mod_rewrite):
1)將不帶WWW的域名轉向到帶WWW的域名下
- Options +FollowSymLinks
- RewriteEngine on
- RewriteCond %{HTTP_HOST} ^kuankuan.cn [NC]
- RewriteRule ^(.*)$ http://www.sem.cm/$1 [L,R=301]
2)重定向到新域名
- Options +FollowSymLinks
- RewriteEngine on
- RewriteRule ^(.*)$ http://www.sem.cm/$1 [L,R=301]
3)使用正則進行301轉向,實現偽靜態
- Options +FollowSymLinks
- RewriteEngine on
- RewriteRule ^news-(.+)\.html$ news.php?id=$1
將news.php?id=123這樣的地址轉向到news-123.html
8、Apache下vhosts.conf中配置301轉向
為實現URL規范化,SEO通常將不帶WWW的域名轉向到帶WWW域名,vhosts.conf中配置為:
- <VirtualHost *:80>
- ServerName www.kuankuan.cn
- DocumentRoot /home/kuankuan
- </VirtualHost>
-
- <VirtualHost *:80>
- ServerName kuankuan.cn
- RedirectMatch permanent ^/(.*) http://www.sem.cm/$1
- </VirtualHost>
Apache下除了以上2種方法,還有其他配置方法和可選參數,建議閱讀Apache文檔。
301轉向情況檢測
http://www.seoconsultants.com/tools/headers.asp
http://www.internetofficer.com/seo-tool/redirect-check/