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