如何實現301重定向php
Linux 主機 Apache服務器 Mod-Rewrite 模式:經過.htaccess文件
當瀏覽器或搜索引擎spider發送一個頁面請求時,Web服務器就會檢查一個名爲'.htaccess'的文件,這個文件指明瞭如何處理頁面請求,經過修改設置'.htaccess'文件就能夠告知搜索引擎某個頁面是302轉向(臨時跳轉)仍是301重定向(永久性跳轉)。有的Linux主機服務器還支持你在管理後臺直接設置301轉向。若是不能在後臺設置,實現301重定向步驟也很簡單:新建一個文件名爲.htaccess.txt的文檔(注意前面的點號不能遺漏),在txt文檔中寫入如下301轉向代碼:
Options +FollowSymLinks
RewriteEngine on
rewritecond %{http_host} ^nowamagic.net [nc]
rewriterule ^(.*)$ http://www.nowamagic.net/$1 [r=301,nc]html
或者瀏覽器
RewriteEngine On
RewriteCond %{HTTP_HOST} !^nowamagic.net$ [NC]
RewriteRule ^(.*)$ http://www.nowamagic.net/$1 [L,R=301]服務器
保存文件,將文件名稱末尾的.txt去掉,上傳到網站根目錄便可。上面的代碼表示整站全部的以帶www的域名www.nowamagic.net爲地址的網頁都會301轉向到不帶www的域名nowamagic.net(不只是首頁,子目錄/網頁也能夠)。若是是其餘域名要重定向到 nowamagic.net 這個新域名,則在.htaccess文件中加入以下重定向代碼:ide
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ http://www.nowamagic.net/$1 [L,R=301]post
Windows主機IIS下的301轉向設置
在IIS 管理後臺 -> 選擇你要重定向的文件或文件夾 -> 右鍵"重定向到URL" -> 輸入須要轉向的目標URL ->選擇"資源的永久重定向"。
另外,若是你的Windows虛擬主機空間支持ISAPI_Rewrite,那麼在IIS下利用ISAPI_Rewrite不只能夠實現url 重寫,還能夠用來設置301轉向,下面分別是三個版本的ISAPI_Rewrite對應的帶www的域名301轉向到不帶www域名的代碼:網站
# ISAPI_Rewrite 1.3 版本 域名的301重定向
RewriteCond Host: ^www\.farlee\.info$
RewriteRule (.*) http\://farlee\.info$1 [I,R]
# ISAPI_Rewrite 2.x 版本
RewriteCond Host: ^www\.farlee\.info$
RewriteRule (.*) http\://farlee\.info$1 [I,RP]
# ISAPI_Rewrite 3.x 版本
RewriteCond %{HTTP:Host} ^www\.farlee\.info$
RewriteRule (.*) http\://farlee\.info$1 [NC,R=301]搜索引擎
在其餘狀況下,如不一樣域名之間在IIS下的301重定向代碼請看詳細介紹:ISAPI Rewrite實現IIS 301轉向。url
PHP 301 重定向代碼
301重定向也能夠在php文件中經過加入php header來實現,代碼以下:
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://nowamagic.net/newpage.html");
exit();
?>.net
其它參考: