Apache下htaccess有關301重定向、404錯誤的設置
換域名了,以前域名的收錄怎么辦?老域名的權重如何轉移到新域名呢?百度搜索引擎優化手冊里面說的是使用301永久重定向,那么如何靈活應用301重定向呢?下面就在站幫網說說apache服務器下使用htaccess來實現301永久重定向的方法。
你是同一目錄下的網站,還是不同目錄下的網站,如果是同一目錄下的網站,就必需要地址判斷,以免出現“此網頁包含重定向循環;如何是不同目錄下的網站,就可以直接弄轉向,也就是所有來路域名都轉;如果兩域名在同一目錄,請把偽靜態規則放在 301的下面,即先轉,再偽。
一、301 永久重定向:
1、所有鏈接重定向首頁: 可新建一個 index.php (兩站不同目錄)
<?php
header('Location:http://www.nicenic.com');
?>
只首頁重定向,貼子等都不重定向、不變
RewriteEngine on
RewriteCond %{HTTP_HOST} ^iisp.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.alapot.com$
RewriteRule ^/?$ "http://www.alapot.com" [R=301,L]
注:只首頁重定向,內頁、目錄不重定向,訪問還是原地址。[OR] 是 “或” 也就是使用帶WWW和不帶WWW的都轉,應該可以加很多 [OR] 做條件。注意, [OR]條件判斷,如果只一個條件,請把 [OR] 去掉。不然有可能出現: “此網頁包含重定向循環”。
2、首頁、貼子、目錄都重定向iisp.com 的首頁、 或指定頁:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^iisp.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.iisp.com$
RewriteRule ^(.*)$ http://iisp.com [R=301,L]
注:首頁、內頁、目錄都重定向到iisp.com的首頁。
(以上為兩站同一目錄下使用,如果網站不同目錄,就不需要網址判斷,直接使用最下一行)
3、www域名 轉 根域名 301。這個是最常用的,首頁、貼子、目錄,所有的都同步重定向:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^nicenic.com$ [NC]
RewriteRule ^(.*)$ "http://iisp.com/$1" [R=301,L]
注:首頁、內頁、鏈接將都重定向到另一站的相同鏈接。
(以上為兩站同一目錄下使用,如果網站不同目錄,就不需要網址判斷,直接使用最下一行)
4、A域名轉B域名,首頁、貼子、目錄,所有的都同步重定向:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^nicenic.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.nicenic.com$
RewriteRule ^(.*)$ "http://iisp.com/$1" [R=301,L]
注:首頁、內頁、鏈接將都轉向到另一站的相同鏈接。
(以上為兩站同一目錄下使用,如果網站不同目錄,就不需要網址判斷,直接使用最下一行)
5、如果只子目錄重定向,包括目錄下的所有鏈接,其它的不重定向, 如:要把 iisp.com/bbs 下重定向到 iisp.com 來,但iisp.com不重定向。
(以上為兩站同一目錄下使用,如果網站不同目錄,就不需要網址判斷,直接使用最下一行。這個子目錄轉,判斷語可不用,直接使用最后一行,子目錄下的所有來路都轉)如果不需要貼子地址都重定向,只把域名重定向,那么,你只需用一首頁文件 index.php
內容為:(網址換成你要重定向到目標網址)
<?php
$url="".$_SERVER["REQUEST_URI"];
header("HTTP/1.1 301 Moved Permanently");
header("location:http://iisp.com");
?>
這方法為域名直接跳轉,如需跳轉到子目錄,直接在網址加上子目錄即可。 (兩站不同目錄),htaccess技巧 在 Linux 系統,支持 htaccess 規則下使用。
注:301轉向.htaccess 的規則在 Linux 系統 Apache 上測試通過,但是在 Linux 系統 LiteSpeed 上出現 500錯誤等。或許不兼容。
二、建一個404.htm 文件傳根目錄
自動義 404、403 錯誤,在.htaccess里面添加
ErrorDocument 404 /404.htm
ErrorDocument 403 /404.htm
注:可自己設定無法找到文件轉到哪個頁 后面的404.htm 可自行改。
三、.htaccess 設置默認首頁:
DirectoryIndex index.html index.php default.htm
注:有些空間,默認首頁先后不同,自己想要把哪個先訪問,可用此設置
四、.htaccess 禁止IP訪問網站:
Order Allow,Deny
Deny from 582.46.2.67
Allow from all
注:禁止 582.46.2.67 這個IP訪問你的站點,可自己測試下禁止自己IP。可應該在,如遇到服務器攻擊,查出這個IP,禁止這個IP訪問。
五、.htaccess 禁止圖片、文件盜鏈:
RewriteCond %{HTTP_REFERER} !^$ [NC]
RewriteCond %{HTTP_REFERER} !zhanhelp.com [NC]
RewriteRule .(gif|jpg|rar|zip)$ http://zhanhelp.com/logo.gif [R,L]
注:這部分是判斷是否盜鏈, 即不是直接輸入網址,又不是zhanhelp.com 網站上訪問的,那么就會 直接顯示 logo.gif 圖片 可自定義如 rar zip 盜鏈。