htAccess 文件(Hypertext Access file)是apache Web服務器的一個非常強大的配置文件,對於這個文件,apache有一堆參數可以讓你配置出幾乎隨心所欲的功能。
使用.htAccess擋掉搜尋引擎機蜘蛛
擋掉百度搜尋引擎
百度是傳說中的暴力搜尋引擎,不遵守搜尋引擎的規則,若你嘗試使用robot.txt來擋住,那非常恭喜你,絕對無效。所以一定要使用比較暴力、強硬的手段才能,因此透過.htaccess就可以處理了,如果你要擋掉一些搜尋引擎(像是百度、搜狗等),那請將以下程式碼貼到htAccess.txt文件中。
SetEnvIfNoCase User-Agent "^Baidu" bad_bot
擋掉Google搜尋引擎
如果你想要擋掉Google搜尋引擎,當然也可以透過.htaccsee擋掉,只要輸入以下程式碼就可以了,如果要連同暴力百度搜尋引擎一起封鎖,那就把這兩串程式碼放在同一個htaccsee.txt文件中。
SetEnvIf User-Agent "^Googlebot" google
用.htAccess封鎖某國家IP網段
有時候自己可能會規畫網站的發展方向,有不歡迎某些特定的國家來訪,這時候第一個想法應該是要鎖該國家的IP,但是卻不知從何做起?因為不知道那個國家的IP跟本不能鎖,這時候可以透過「blockcountry」線上工具網站產生的htAccess語法來替自己封鎖想要封鎖的IP網段國家。
第1步 來到Block country(http://www.blockcountry.com) 網站首頁,首先你會看到一個框框,框框中有許多國家,請您挑選要封鎖的國家,可以復選,選擇完成後請點擊下方的﹝Block Now!﹞。
第2步 將剛剛網頁上產生的程式碼貼到htAccess文件中,然後儲存。apache對於被拒絕的IP會返回403錯誤。
用.htAccess防止圖片、文件盜鏈
一個圖文並茂的網站,最怕的就是文章轉貼,雖然現一直在尊重著作權法,但還是有許多人假裝沒看見?許多人喜歡「復制→貼上」,但這樣一個轉貼動作卻會對一個網站造成莫大的傷害,除了辛苦寫的文章被偷走外,連圖片也盜鏈!圖片或文件被盜連最怕的就是後續的流量,為了避免這種問題,我們必須自立自強,防止盜鏈這種可惡的行為!
如果是cPanel虛擬主機,防盜連的方法不外乎就是到cPanel後台進行設定。如果你是其他類型的空間後台或者是說你只有FTP權限的空間,那該怎麼辦呢?其實只要你的空間支持.htAccess文件並且支持ReWrite,你都可以防止圖片與文件的盜鏈!
通過.htAccess來防止網站的圖片、壓縮文件、或視頻等非Html文件被盜鏈的方法相當簡單,通過在該文件中加入幾句命令即可保護我們寶貴的帶寬。例如chinaz.com的設置如下:
RewriteEngine on
利用.htAccess來保護主機下的目錄與文件
一般來說很多虛擬主機預設是沒有開啟保護網站主機目錄下的文件,其實很危險的,假若你的目錄下忘記放置index文件,那很可能您目錄就被看光,一個不小心很可能重要資料就被拿走,這是蠻嚴重的一件事情。如果是Linux主機,我們可以透過簡易的.htAccess語法來保護網站主機目錄下的文件,讓別人無法輕易看見。
平常我們使用的最簡單保護目錄的方法,莫過於使用「index.PHP」、「index.Html」等等之類的網站index文件,因為主機內預設的設定在目錄中預設就是要抓index文件,而index文件通常會有很多種,主機會依續排列下來抓取,所以可以設定index文件來讓主機抓取,以達到保護目錄的效果。但如果主機需要的index文件沒有一個存在,這時候主機就會直接顯示目錄內的東西了,因為主機不知道要抓取誰當作主要網頁,所以會全部顯示。
雖然使用index文件來保護目錄是可行的,但是每個子目錄都需要傳一個index文件其實蠻累人的,這時候我們就可以利用「.htAccess」來批量處理。
Options -Indexes
語法的進階使用
當然該語法還有其他相關的用途,以下列出簡單的幾項供大家參考使用,如果你覺得以下的語法不是你想要或是想學更多,你可以到apache官方網站來看看英文說明書,查看看還有什麼關於「indexoptions」的用途或是其他不錯的功能喔!
Options +Indexes:顯示目錄下所有文件
Options -Indexes:隱藏目錄下所有文件 (上面已經介紹過)
IndexOptions +FancyIndexing:顯示目錄下所有文件,文件前面包含檔案類型的小圖示
IndexOptions -FancyIndexing : 顯示目錄下所有文件,但不包含文件類型的小圖示
IndexIgnore *.php *.exe:隱藏特定的文件, 其余文件正常顯示(隱藏所有的PHP和exe文件)
使用.htAccess 創建自定義的出錯頁面
對於Linux apache來說這是一項極其簡單的事情。使用下面的.htaccess語法你可以輕松的完成這一功能。(把.htAccess放在你的網站根目錄下)
ErrorDocument 401 /error/401.PHP
ErrorDocument 403 /error/403.PHP
ErrorDocument 404 /error/404.PHP
ErrorDocument 500 /error/500.PHP
把某些特殊的IP地址的請求重定向到別的站點
ErrorDocument 403http://www.youdomain.com
Order deny,allow
Deny from all
Allow from 124.34.48.165
Allow from 102.54.68.123
把老的域名轉像新的域名
# redirect from old domain to new domain
RewriteEngine On
RewriteRule ^(.*) $http://www.yourdomain.com/$1 [R=301,L]