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