程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Access數據庫 >> 關於Access數據庫 >> Apache Web服務器.htaccess文件配置

Apache Web服務器.htaccess文件配置

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

 

  htAccess 文件(Hypertext Access file)是apache Web服務器的一個非常強大的配置文件,對於這個文件,apache有一堆參數可以讓你配置出幾乎隨心所欲的功能。

 

  使用.htAccess擋掉搜尋引擎機蜘蛛

 

  擋掉百度搜尋引擎

 

  百度是傳說中的暴力搜尋引擎,不遵守搜尋引擎的規則,若你嘗試使用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文件中。

 

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

 

  用.htAccess封鎖某國家IP網段

 

  有時候自己可能會規畫網站的發展方向,有不歡迎某些特定的國家來訪,這時候第一個想法應該是要鎖該國家的IP,但是卻不知從何做起?因為不知道那個國家的IP跟本不能鎖,這時候可以透過「blockcountry」線上工具網站產生的htAccess語法來替自己封鎖想要封鎖的IP網段國家。

 

  第1步 來到Block country(http://www.blockcountry.com) 網站首頁,首先你會看到一個框框,框框中有許多國家,請您挑選要封鎖的國家,可以復選,選擇完成後請點擊下方的﹝Block Now!﹞。

 

htAccess

 

htAccess 

 

  第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)$ /School/UploadFiles_7810/201105/20110518123850727.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]

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved