Apache服務器的htaccess文件配置 rewrite/防盜鏈/屏蔽爬蟲蜘蛛

Apache服務器的htaccess文件配置 rewrite/防盜鏈/屏蔽爬蟲蜘蛛

htaccess是Apache服務器的一個配置文件,具備強大的功能,本文介紹如何編輯該文件,讓網站實現封鎖某國家IP網段、防止圖片、文件盜鏈、保護主機下的目錄與文件、建立自定義的出錯頁面、把某些特殊的IP地址的請求重定向到別的站點、把老的域名轉像新的域名,這些功能。php

htAccess 文件(Hypertext Access file)是Apache Web服務器的一個很是強大的配置文件,對於這個文件,Apache有一堆參數可讓你配置出幾乎爲所欲爲的功能。html

使用.htaccess擋掉搜尋引擎機蜘蛛服務器

擋掉百度搜尋引擎dom

百度是傳說中的暴力搜尋引擎,不遵照搜尋引擎的規則,若你嘗試使用robot.txt來擋住,那很是恭喜你,絕對無效。因此必定要使用比較暴力、強硬的手段才能,所以透過.htaccess就能夠處理了,若是你要擋掉一些搜尋引擎(像是百度、搜狗等),那請將如下程式碼貼到htaccess.txt文件中。工具

SetEnvIfNoCase User-Agent "^Baidu" bad_bot
SetEnvIfNoCase User-Agent "^sogou" bad_bot
SetEnvIfNoCase User-Agent "^Bloghoo" bad_bot
SetEnvIfNoCase User-Agent "^Scooter" bad_bot
Deny from env=bad_bot

 

擋掉Google搜尋引擎網站

若是你想要擋掉Google搜尋引擎,固然也能夠透過.htaccsee擋掉,只要輸入如下程式碼就能夠了,若是要連同暴力百度搜尋引擎一塊兒封鎖,那就把這兩串程式碼放在同一個htaccsee.txt文件中。google

SetEnvIf User-Agent "^Googlebot" google
Deny from env=google

 

用.htaccess封鎖某國家IP網段視頻

有時候本身可能會規畫網站的發展方向,有不歡迎某些特定的國家來訪,這時候第一個想法應該是要鎖該國家的IP,可是殊不知從何作起?由於不知道那個國家的IP跟本不能鎖,這時候能夠透過「blockcountry」線上工具網站產生的htaccess語法來替本身封鎖想要封鎖的IP網段國家。htm

第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
RewriteCond %{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來保護主機下的目錄與文件

通常來講不少虛擬主機預設是沒有開啓保護網站主機目錄下的文件,其實很危險的,倘若你的目錄下忘記放置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]

相關文章
相關標籤/搜索