電腦技術(shù),程序編程,php,c,html,css,jQuery,ajax,MySql,Javascript別再混日子了,小心日子把你給混了.. 2011-08-03 17:04 Apache服務(wù)器的htaccess文件配置 rewrite/防盜鏈/屏蔽爬蟲(chóng)蜘蛛htaccess是Apache服務(wù)器的一個(gè)配置文件,具有強(qiáng)大的功能,本文介紹如何編輯該文件,讓網(wǎng)站實(shí)現(xiàn)封鎖某國(guó)家IP網(wǎng)段、防止圖片、文件盜鏈、保護(hù)主機(jī)下的目錄與文件、創(chuàng)建自定義的出錯(cuò)頁(yè)面、把某些特殊的IP地址的請(qǐng)求重定向到別的站點(diǎn)、把老的域名轉(zhuǎn)像新的域名,這些功能。 htAccess 文件(Hypertext Access file)是Apache Web服務(wù)器的一個(gè)非常強(qiáng)大的配置文件,對(duì)于這個(gè)文件,Apache有一堆參數(shù)可以讓你配置出幾乎隨心所欲的功能。 使用.htaccess擋掉搜尋引擎機(jī)蜘蛛 擋掉百度搜尋引擎 百度是傳說(shuō)中的暴力搜尋引擎,不遵守搜尋引擎的規(guī)則,若你嘗試使用robot.txt來(lái)?yè)踝。欠浅9材悖^對(duì)無(wú)效。所以一定要使用比較暴力、強(qiáng)硬的手段才能,因此透過(guò).htaccess就可以處理了,如果你要擋掉一些搜尋引擎(像是百度、搜狗等),那請(qǐng)將以下程式碼貼到htaccess.txt文件中。 SetEnvIfNoCase User-Agent "^Baidu" bad_botSetEnvIfNoCase User-Agent "^sogou" bad_bot SetEnvIfNoCase User-Agent "^Bloghoo" bad_bot SetEnvIfNoCase User-Agent "^Scooter" bad_bot Deny from env=bad_bot
擋掉Google搜尋引擎 如果你想要擋掉Google搜尋引擎,當(dāng)然也可以透過(guò).htaccsee擋掉,只要輸入以下程式碼就可以了,如果要連同暴力百度搜尋引擎一起封鎖,那就把這兩串程式碼放在同一個(gè)htaccsee.txt文件中。 SetEnvIf User-Agent "^Googlebot" googleDeny from env=google
用.htaccess封鎖某國(guó)家IP網(wǎng)段 有時(shí)候自己可能會(huì)規(guī)畫網(wǎng)站的發(fā)展方向,有不歡迎某些特定的國(guó)家來(lái)訪,這時(shí)候第一個(gè)想法應(yīng)該是要鎖該國(guó)家的IP,但是卻不知從何做起?因?yàn)椴恢滥莻€(gè)國(guó)家的IP跟本不能鎖,這時(shí)候可以透過(guò)「blockcountry」線上工具網(wǎng)站產(chǎn)生的htaccess語(yǔ)法來(lái)替自己封鎖想要封鎖的IP網(wǎng)段國(guó)家。 第1步 來(lái)到Block country(http://www.) 網(wǎng)站首頁(yè),首先你會(huì)看到一個(gè)框框,框框中有許多國(guó)家,請(qǐng)您挑選要封鎖的國(guó)家,可以復(fù)選,選擇完成后請(qǐng)點(diǎn)擊下方的﹝Block Now!﹞。
第2步 將剛剛網(wǎng)頁(yè)上產(chǎn)生的程式碼貼到htaccess文件中,然后儲(chǔ)存。Apache對(duì)于被拒絕的IP會(huì)返回403錯(cuò)誤。 用.htaccess防止圖片、文件盜鏈 一個(gè)圖文并茂的網(wǎng)站,最怕的就是文章轉(zhuǎn)貼,雖然現(xiàn)一直在尊重著作權(quán)法,但還是有許多人假裝沒(méi)看見(jiàn)?許多人喜歡「復(fù)制→貼上」,但這樣一個(gè)轉(zhuǎn)貼動(dòng)作卻會(huì)對(duì)一個(gè)網(wǎng)站造成莫大的傷害,除了辛苦寫的文章被偷走外,連圖片也盜鏈!圖片或文件被盜連最怕的就是后續(xù)的流量,為了避免這種問(wèn)題,我們必須自立自強(qiáng),防止盜鏈這種可惡的行為! 如果是cPanel虛擬主機(jī),防盜連的方法不外乎就是到cPanel后臺(tái)進(jìn)行設(shè)定。如果你是其他類型的空間后臺(tái)或者是說(shuō)你只有FTP權(quán)限的空間,那該怎么辦呢?其實(shí)只要你的空間支持.htaccess文件并且支持ReWrite,你都可以防止圖片與文件的盜鏈! 通過(guò).htaccess來(lái)防止網(wǎng)站的圖片、壓縮文件、或視頻等非Html文件被盜鏈的方法相當(dāng)簡(jiǎn)單,通過(guò)在該文件中加入幾句命令即可保護(hù)我們寶貴的帶寬。例如chinaz.com的設(shè)置如下: RewriteEngine onRewriteCond %{HTTP_REFERER} !^$ [NC] RewriteCond %{HTTP_REFERER} !nobing.cn [NC] RewriteCond %{HTTP_REFERER} !google.com [NC] RewriteCond %{HTTP_REFERER} !baidu.com [NC] RewriteCond %{HTTP_REFERER} !www.domain.com [NC] RewriteRule .*\.(gif|jpg)$ http://www.chinaz.com/no.png [R,NC,L]
利用.htaccess來(lái)保護(hù)主機(jī)下的目錄與文件 一般來(lái)說(shuō)很多虛擬主機(jī)預(yù)設(shè)是沒(méi)有開(kāi)啟保護(hù)網(wǎng)站主機(jī)目錄下的文件,其實(shí)很危險(xiǎn)的,假若你的目錄下忘記放置index文件,那很可能您目錄就被看光,一個(gè)不小心很可能重要資料就被拿走,這是蠻嚴(yán)重的一件事情。如果是Linux主機(jī),我們可以透過(guò)簡(jiǎn)易的.htaccess語(yǔ)法來(lái)保護(hù)網(wǎng)站主機(jī)目錄下的文件,讓別人無(wú)法輕易看見(jiàn)。 平常我們使用的最簡(jiǎn)單保護(hù)目錄的方法,莫過(guò)于使用「index.php」、「index.html」等等之類的網(wǎng)站index文件,因?yàn)橹鳈C(jī)內(nèi)預(yù)設(shè)的設(shè)定在目錄中預(yù)設(shè)就是要抓index文件,而index文件通常會(huì)有很多種,主機(jī)會(huì)依續(xù)排列下來(lái)抓取,所以可以設(shè)定index文件來(lái)讓主機(jī)抓取,以達(dá)到保護(hù)目錄的效果。但如果主機(jī)需要的index文件沒(méi)有一個(gè)存在,這時(shí)候主機(jī)就會(huì)直接顯示目錄內(nèi)的東西了,因?yàn)橹鳈C(jī)不知道要抓取誰(shuí)當(dāng)作主要網(wǎng)頁(yè),所以會(huì)全部顯示。 雖然使用index文件來(lái)保護(hù)目錄是可行的,但是每個(gè)子目錄都需要傳一個(gè)index文件其實(shí)蠻累人的,這時(shí)候我們就可以利用「.htaccess」來(lái)批量處理。 Options -Indexes
語(yǔ)法的進(jìn)階使用 當(dāng)然該語(yǔ)法還有其他相關(guān)的用途,以下列出簡(jiǎn)單的幾項(xiàng)供大家參考使用,如果你覺(jué)得以下的語(yǔ)法不是你想要或是想學(xué)更多,你可以到Apache官方網(wǎng)站來(lái)看看英文說(shuō)明書,查看看還有什么關(guān)于「indexoptions」的用途或是其他不錯(cuò)的功能喔! Options +Indexes:顯示目錄下所有文件 Options -Indexes:隱藏目錄下所有文件 (上面已經(jīng)介紹過(guò)) IndexOptions +FancyIndexing:顯示目錄下所有文件,文件前面包含檔案類型的小圖示 IndexOptions -FancyIndexing : 顯示目錄下所有文件,但不包含文件類型的小圖示 IndexIgnore *.php *.exe:隱藏特定的文件, 其余文件正常顯示(隱藏所有的php和exe文件) 使用.htaccess 創(chuàng)建自定義的出錯(cuò)頁(yè)面 對(duì)于Linux Apache來(lái)說(shuō)這是一項(xiàng)極其簡(jiǎn)單的事情。使用下面的.htaccess語(yǔ)法你可以輕松的完成這一功能。(把.htaccess放在你的網(wǎng)站根目錄下) ErrorDocument 401 /error/401.PHPErrorDocument 403 /error/403.php ErrorDocument 404 /error/404.php ErrorDocument 500 /error/500.php
把某些特殊的IP地址的請(qǐng)求重定向到別的站點(diǎn) ErrorDocument 403http://www.Order deny,allow Deny from all Allow from 124.34.48.165 Allow from 102.54.68.123
把老的域名轉(zhuǎn)像新的域名 # redirect from old domain to new domainRewriteEngine On RewriteRule ^(.*) $http://www./$1 [R=301,L]
|
|