開始之前:
1、配置和寫文件名時注意:如果您給出文件名以"/"開頭,則服務器會用絕對目錄。
2、如果給出的文件名不以"/"開頭,如:"logs/foo.log",
而當前服務器跟目錄是"/usr/local/apache/",
那么服務器就會認為這個log文件在這里:"/usr/local/apache/logs/foo.log"
3、注意:在整個配置過程中所有的文件名中都要用斜線"/",而不用反斜線"""。
如:用 "c:/apache" 而不用 "c:apache" , 這里跟DOS不一樣.
Apache服務器的配置指令別分成三個相對集中的部分
1. 配置Apache服務器在整個運行過程中的環境變量.
2. 配置主服務器或默認服務器運行時的詳細接口參數.
3. 設置虛擬服務器,使得在同一個Apache服務器上可完成不同IP地址或不同主機名的web請求 (即:一臺物理上的服務器可被設置為有很多個IP地址或很多個主機名的虛擬服務器)
----------------------------------------
第一部分: 環境設定
# 設置服務器的的啟動方式:獨立啟動(standalone),還是借由互聯網絡伺服程序inetd來啟動。
# 缺省值是使用獨立啟動(standalone)。
ServerType standalone
# 設置服務器目錄,用來存放服務器的配置文件、錯誤文件、記錄文件的目錄。
# 注意:在目錄的最后不能再加斜線"/" 。
ServerRoot "C:/Apache"
# 服務程序啟動時,它把父程序 httpd 的程序碼(process id)存往這個
# log/httpd.pid 文件。這個文件名稱可以配合 PidFile 指令加以改變.
PidFile logs/httpd.pid
# 設置Apache服務器執行程序的記錄文件。
ScoreBoardFile logs/apache_status
# 下面這兩項看個人的喜好,如果您覺得httpd.conf文件太長,不好找到需要的東西。
# 那么您可以將所需的設置放在srm.conf中(它只有幾行),然后在下面打開它:
# 下面的兩個設置,在標準配置中是打開的,我們可以不打開它.
# 去除下一行前面的"#" , 啟用srm.conf
#ResourceConfig conf/srm.conf
#AccessConfig conf/access.conf
# 服務器與客戶端的最大等待時間
# 如果客戶端在300秒還沒有連上,或者服務器300秒還沒有傳送數據到客戶端,就會自動斷線。Timeout 300
# 設置是否支持續傳功能.缺省是支持
KeepAlive On
# 設置支持續傳功能的數目。數目越多則浪費的硬盤空間越多, 性能也越好。
# 設置為0則沒有限制。
MaxKeepAliveRequests 100
# 設置保持續傳的最大等待時間
# 如果連接上的某位使用者在15秒后還沒有向服務器發出要求,則他不能使用續傳功能。
KeepAliveTimeout 15
# 設置同時間內子進程數目,為了安全,設置為零.
MaxRequestsPerChild 0
# 設置服務器使用進程的數目。
# 這是以服務器的響應速度為準的, 數目太大則會變慢.
ThreadsPerChild 50
# 允許使用另外的Port或IP地址訪問服務器. 您可以打開它。
#Listen 3000
#Listen 12.34.56.78:80
# 設置Apache監聽的IP地址,這也是您在本機上的虛擬服務器的IP地址.
BindAddress 127.0.0.1
# 打開當前未激活預定義的模塊,這里除非您真的需要,否則不要更改它
#LoadModule anon_auth_module modules/ApacheModuleAuthAnon.dll
# 設置服務器產生的狀態信息。如果設置為"On",則產生詳細的信息.
#ExtendedStatus On
-----------------------------------
第二部分 詳細接口參數設定
# 設置服務器獨立使用時監聽的端口。
Port 80
# 設置服務器管理者的E-Mail地址.
ServerAdmin [email protected]
# 服務器的主機名。如果你有固定的IP地址,則不需要設置
ServerName localhost
# 設置存放站點html文件的目錄
DocumentRoot "C:/Apache/htdocs"
# 設置/目錄的指令。具體說明如下:
# Option:定義在目錄內所能執行的操作。
# None表示只能瀏覽.
# FollowSymLinks允許頁面連接到別處,
# ExecCGI允許執行CGI,
# MultiViews允許看動畫或是聽音樂之類的操作,
# Indexes允許服務器返回目錄的格式化列表,
# Includes允許使用SSI。
# 這些設置可以復選。All則可以做任何事,但不包括MultiViews。
# AllowOverride:
# 加None參數表示任何人都可以瀏覽該目錄下的文件,但不會讀取該文件。
# FileInfo 允許控制文件型態之指令的使用,
# AuthConfig 允許驗認指令的使用,
# Indexes 允許控制目錄索引之指令的使用,
# Limit 允許控制存取主機之指令的使用,
# Options 允許控制特定目錄特色之指令的使用.
# 設為 All 的話服務器將會允許所有的指令.
ptions FollowSymLinks
AllowOverride None
# 定義首先顯示的文件。
# 您可以這樣更改 DirectoryIndex index.html index.htm
DirectoryIndex index.html
# 定義每個目錄訪問控制文件的名稱
AccessFileName .htaccess
# 定義代理服務器不要緩存你的頁面. 缺省不使用.
#CacheNegotiatedDocs
# 這個指令設定 mime 型態配置檔所在的位置,
# 文件名稱是相對于 ServerRoot 的, 不建議變更這個文件.
TypesConfig conf/mime.types
# 服務器會將錯誤訊息記錄到一個記錄檔去,
# 文件名稱可以藉由 ErrorLog 指令設定.
# 可以為不同的虛擬主機設定不同的錯誤記錄
ErrorLog logs/error.log
# 設定記錄檔的格式
LogFormat "%h %l %u %t ""%r"" %>s %b" common
.
.
.
# Alias 指令使文件可以存放在 DocumentRoot 之外的本地文件系統里
# ScriptAlias 指令與 Alias 指令相同, 只不過它還標記改目錄包含CGI或PHP指令文件
# AddType 指令以指定的內容型態作為該文件名稱結尾的文件的副文件名
Alias /icons/ "C:/Apache/icons/"
Alias /test/ "c:/php/test/"
Alias /admin/ "c:/admin/phpMyAdmin/"
ScriptAlias /php/ "c:/php/"
AddType application/x-httpd-php .php
AddType application/x-httpd-php3 .php3
Action application/x-httpd-php "/php/php.exe"
# AddIcon, AddIconByEncoding and AddIconByType 都
# 是用來設定顯示不同文件型態所使用的圖示列表;對於每種列
# 出的文件型態,顯示列出的第一個符合的圖示。
AddIconByType (VID,/icons/movie.gif) video/*
AddIcon /icons/binary.gif .bin .exe
# 缺省的文件圖示
DefaultIcon /icons/unknown.gif
# 有問題或錯誤發生的狀況下,可以配置Apache做四種反應
# 1. 輸出自定的(customized)訊息(文本)
#ErrorDocument 500 "The server made a boo boo.
# 2. 重導到某個本地的 URL 以處理該問題/錯誤
#ErrorDocument 404 /missing.html
#ErrorDocument 404 /cgi-bin/missing_handler.pl
# 3. 重導到某個外部的 URL 以處理該問題/錯誤
#ErrorDocument 402 http://some.other_server.com/subscription_info.html
===========================
########01.常規設置
# Listen
# 監聽端口, 例: Listen 80
# ServerRoot
# Apache 所在目錄, 例: ServerRoot "C:/Program Files/Apache Group/Apache2" (WINDOWS)
# ServerAdmin
# 錯誤報告郵箱, 例: ServerAdmin [email protected]
# DocumentRoot
# 站點根目錄, 例: DocumentRoot "I:/gi-2288"
# DirectoryIndex
# 配置目錄索引文件,
# 例: DirectoryIndex index.php index.php3 index.html index.htm
# ServerName
# 服務器域名/IP地址, 例: ServerName gi.2288.org
# DefaultLanguage
# 為所有指令作用域范圍內的文件設定某一特定的缺省語言
# 語法: DefaultLanguage MIME-lang, 例: DefaultLanguage zh-CN
# AddDefaultCharset
# 在沒有進行指定字符集的情況下向回應中加入的默認字符集, 默認值: AddDefaultCharset Off
# 例: AddDefaultCharset utf-8, 語法: 語法: AddDefaultCharset On|Off|字符集
# AddHandler
# 在文件擴展名與特定的處理器間建立映射, 例: AddHandler cgi-script .cgi .pl
# 語法: AddHandler handler-name extension
# AccessFileName
# 定義配置文件, 例: AccessFileName .htaccess
# 當向客戶端返回文檔時,如果設置了此目錄的發布配置文件功能。
# 服務器將在這個文檔的各個路徑中從名字列表中查找第一個存在的配置文件。
# Timeout
# 超時時間, 例: Timeout 300
# TypesConfig
# 指定mime.types文件的位置, 默認: TypesConfig conf/mime.types
# DefaultType
# DefaultType MIME類型,
# 有時會發生這樣的事:服務器會被要求提供一個文檔,而這個文檔的類型無法由它的MIME類型映射所決定。
# 服務器必須通知客戶端其文檔的內容類型。
# 所以當一個未知類型出現時,將會使用DefaultType。
# 例: DefaultType image/gif
# HostnameLookups
# 啟用對客戶端IP的DNS查找, 語法: HostnameLookups on|off|double
# ErrorLog
# 定位服務器存放錯誤日志的位置, 例: ErrorLog "G:/Apache/dummy-gi.2288.org.80-error_log"
# LogLevel
# 控制錯誤日志的級別, 默認值: LogLevel warn
# emerg 緊急 - 系統無法使用。
# alert 必須立即采取措施。
# crit 致命情況。
# error 錯誤情況。
# warn 警告情況。
# notice 一般重要情況。
# info 普通信息。
# debug 出錯級別信息
# CustomLog
# 設定日志的文件名和格式, 默認: CustomLog logs/access.log common
# ServerTokens
# 配置服務器HTTP回應頭, 默認: ServerTokens Full
# ServerTokens Prod[uctOnly], 服務器會發送(比如說):Server:Apache
# ServerTokens Major, 服務器會發送(比如說):Server:Apache/2
# ServerTokens Minor, 服務器會發送(比如說):Server:Apache/2.0
# ServerTokens Min[imal], 服務器會發送(比如說):Server:Apache/2.0.41
# ServerTokens OS, 服務器會發送(比如說):Server: Apache/2.0.41 (Unix)
# ServerTokens Full (or not specified),
# 服務器會發送(比如說):Server: Apache/2.0.41 (Unix) PHP/4.2.2 MyMod/1.2
# MaxSpareServers
# 設置apache的最大空閑進程數
# 語法: MaxSpareServers number
# 默認: MaxSpareServers 100
# 例: MaxSpareServers 1000
# MaxKeepAliveRequests
# 設置每個連接的最大請求數
# 語法: MaxKeepAliveRequests number
# 默認值: MaxKeepAliveRequests 100
# ServerSignature
# 配置服務器生成頁面的頁腳, 默認值: ServerSignature Off
# 語法: ServerSignature On|Off|EMail
# 應用:
# Listen 80
# ServerRoot "C:/Program Files/Apache Group/Apache2"
# ServerAdmin [email protected]
# DocumentRoot "I:/gi-2288"
# DirectoryIndex index.php index.php3 index.html index.htm
# ServerName gi.2288.org
# DefaultLanguage zh-CN
# AddDefaultCharset utf-8
# AddDefaultCharset Off
# AddHandler cgi-script .cgi .pl
# AccessFileName .htaccess
# Timeout 300
# TypesConfig conf/mime.types
# ErrorLog "G:/Apache/dummy-gi.2288.org.80-error_log"
# LogLevel warn
# CustomLog logs/access.log common
# ServerTokens Prod[uctOnly]
# ServerSignature Off
########02. <VirtualHost *:80> 虛擬主機
# Listen 80
# 設定監聽端口
# NameVirtualHost 192.168.1.2:80
# 名字/端口型 虛擬主機
# <VirtualHost *:88>
# </VirtualHost>
# 虛擬主機段
# ServerAdmin [email protected]
# 聯系管理會用的信箱
# DocumentRoot "I:/gi-2288"
# 站點根目錄
# ServerName gi.2288.org
# 域名
# ErrorLog "G:/Apache/dummy-gi.2288.org.80-error_log"
# 錯誤日志 # 日志記錄是好東西,注意查看日志記錄
# ------------以上是虛擬主機內容
# 完整應用:
# Listen 80
# NameVirtualHost 192.168.1.2:80
# <VirtualHost *:88>
# ServerAdmin [email protected]
# DocumentRoot "I:/gi-2288"
# ServerName gi.2288.org
# </VirtualHost>
########03. <Directory> + Alias
# 語法: <Directory 目錄路徑> ... </Directory>
# 封裝一組指令,使之僅對具有某個名字的文件系統目錄及其子目錄起作用。
# 不允許目錄瀏覽, 例:
# Alias /document "J:/Document/"
# <Directory "J:/Document/">
# Options FollowSymLinks
# AllowOverride none
# Order allow,deny
# Allow from all
# </Directory>
# 允許目錄瀏覽, 例:
# Alias /document "J:/Document/"
# <Directory "J:/Document/">
# Options Indexes
# AllowOverride none
# Order allow,deny
# Allow from all
# </Directory>
# Allow & Deny
# Allow和Deny指令可以允許或拒絕來自特定主機名或主機地址的訪問,
# 同時,Order指令告訴Apache處理這兩個指令的順序, 以改變過濾器。
# Allow
# 允許所有地址的訪問, 例: Allow from all
# 只允許特定IP地址訪問目錄, 例: Allow from 205.252.46.165
# 只允許特定域名地址訪問目錄, 例: Allow from www.google.com
# 只允許特定IP 段訪問, 例: Allow from 10.10.10.0/255.255.0.0
# Deny
# 拒絕所有地址訪問目錄, 例: Deny from all
# 拒絕特定域名訪問目錄, 例: Deny from www.google.com
# 拒絕特定IP訪問目錄, 例: Deny from 218.15.84.152
# 拒絕某個IP段訪問上當, 例: Deny from 10.10.10.0/255.255.0.0
# Allow & Deny 混合使用
# 拒絕所有地址的訪問, 但接受 Google 的訪問, 例:
# <Directory "J:/Document/">
# Options FollowSymLinks
# Order Deny, Allow
# Deny from all
# Allow from www.google.com
# </Directory>
# 接受所有地址的訪問, 但拒絕 Google 的訪問, 例:
# <Directory "J:/Document/">
# Options FollowSymLinks
# Order Deny, Allow
# Deny from www.google.com
# Allow from all
# </Directory>
# Options
# 語法: Options [+|-]可選項 [[+|-]可選項] ...
# 配置在特定目錄使用哪些特性,
# Options指令控制了在特定目錄中將使用哪些服務器特性。
# 可選項能設置為None,在這種情況下,將不啟用任何額外特性。
# 或設置為以下選項中的一個或多個:
# All, 除MultiViews之外的所有特性。這是默認設置。
# ExecCGI, 允許執行CGI腳本.
# FollowSymLinks, 服務器會在此目錄中使用符號連接。
# 注意:即便服務器會使用符號連接,但它不會改變用于匹配<Directory>配置段的路徑名。
# 注意:如果此配置位于<Location>配置段中,則此設置會被忽略。
# Includes, 允許服務器端包含。
# IncludesNOEXEC,允許服務器端包含,但禁用#exec命令和#exec CGI。
# 但仍可以從ScriptAliase目錄使用#include 虛擬CGI腳本。
# Indexes, 如果一個映射到目錄的URL被請求,
# 而此目錄中又沒有DirectoryIndex(例如:index.html.zh-cn.gb2312),
# 那么服務器會返回一個格式化后的目錄列表。
# MultiViews,允許內容協商的多重視圖。
# SymLinksIfOwnerMatch, 服務器僅在符號連接與其目的目錄或文件擁有者具有同樣的用戶id時才使用它。
# 注意:如果此配置出現在<Location>配置段中,此選項將被忽略。
# AllowOverride
# 語法: AllowOverride All|None|指令類型 [指令類型] ...
# 說明: 允許存在于.htaccess文件中的指令類型
# 當服務器發現了一個.htaccess文件(由AccessFileName指定)時,
# 它需要知道在這個文件中聲明的哪些指令能覆蓋在此之前指定的訪問信息。
# AllowOverride僅在<Directory>小節中才是有效的。在<Location>或<Files>小節中都是無效的。
# 如果此指令設置為None,那么.htaccess文件將被完全忽略。
# 在這種情況下,服務器甚至都不會試著從文件系統讀取.htaccess文件。
# 當此指令設置為All時,所有具有.htaccess 上下文的指令都允許出現在.htaccess文件中。
########4. .htaccess
# 提示:允許使用 .htaccess 文件將會導致服務性能的下降。
# 另外,每次請求一個頁面時,都需要讀取.htaccess文件。
# 開啟 .htaccess 支持必須 這樣設置 AllowOverride all, 例:
# Alias /v "J:/pwd/"
# <Directory "J:/pwd/">
# Options Indexes
# AllowOverride all
# Order allow,deny
# Allow from all
# </Directory>
# 如果網絡站點上有些敏感信息或只希望為一個小群體所訪問,
# 這里介紹幾個方法確保使用戶只能訪問允許被訪問的資源。
# 通常在 <Directory> 段或針對單個目錄的配置文件(.htaccess files)。
# 如果希望使用 .htaccess 文件, 則必須設置服務器以允許在這些文件中使用認證指令,
# 即,用 AllowOverride 指令 指定哪些指令在針對單個目錄的配置文件中有效。
# 用密碼來保護服務器上的目錄, 首先需要建立一個密碼文件。
# 這個文件可以放在不能被網絡訪問的位置,以避免被下載,
# 例如: G:Apache 以外的空間不能被網絡訪問,
# 那么可以考慮把密碼文件放在 G:Apached 目錄中。
# Apache在其安裝目錄的 bin 子目錄中提供了叫 htpasswd 的工具,
# 以建立密碼文件,可以這樣使用:
# (先切換到Apache 安裝目錄, 例: C:Program FilesApache GroupApache2in)
# 在命令行輸入: htpasswd -c G:/Apache/passwords E
# (這樣就建立了一個用戶 E, 具體按自己需要設置用戶和密碼)
# 接著會要求你輸入密碼, 然后再輸入一次,檢驗密碼.
# 這樣在 G:Apache 就多了一個 passwords 文件(沒有后綴名)
# Windows 下的話會用 MD5 加密密碼.
# 然后在要 設置權限的目錄里建立一個 .htaccess 文件,
# .htaccess 文件的內容是:
# AuthType Basic
# AuthName "Restricted Files"
# AuthUserFile G:/Apache/passwords
# Require user E
# 演示頁面: http://gi.2288.org:88/v
# 用戶: E 密碼:testhtpasswd
# 注: 目錄必須允許 AllowOverride all ,這樣 .htaccess 文件才能生效.
########5. Log
# Apache 的日志文件可以提供非常多的信息, 很有必要了解這些日志
# C:Program FilesApache GroupApache2logs (Windows 中的日志文件存放處)
# access.log(訪問日志,了解客戶端所訪問的內容) & error.log(錯誤日志)
# 自定義日志格式
# mod_log_config
# 狀態: Base
# 說明: 將對服務器發起的請求記錄到日志
# 默認: CustomLog logs/access.log common
# 推薦設置:
# CustomLog logs/access_log "%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i""
# LogFormat
# 默認值: LogFormat "%h %l %u %t ""%r"" %>s %b"
# 語法: LogFormat format|nickname [nickname]
# 說明: 定義日志文件里的記錄格式
# 例: LogFormat "%v %h %l %u %t ""%r"" %>s %b" vhost_common
# CustomLog
# 狀態: Base
# 語法: CustomLog file|pipe format|nickname [env=[!]environment-variable]
# 說明: 設定日志的文件名和格式
# 例: CustomLog logs/access_log "%h %l %u %t ""%r"" %>s %b"
# ErrorLog
# 語法: ErrorLog 文件路徑|syslog[:facility]
# 默認值: ErrorLog logs/error_log (Unix) ErrorLog logs/error.log (Windows and OS/2)
# 說明: 定位服務器存放錯誤日志的位置
# 例: ErrorLog "G:/Apache/dummy-gi.2288.org.88-error_log"
# CookieLog
# 語法: CookieLog filename
# 說明: 設定針對cookies的日志文件名
# 模塊: mod_log_config
# RewriteLog
# 語法: RewriteLog file-path
# 說明: 設置重寫引擎日志的文件名
# 模塊: mod_rewrite
# 例: RewriteLog "/usr/local/var/apache/logs/rewrite.log" (Unix/Linux)
# RewriteLog "G:/Apache/rewrite.log" (Windows)
# 一些常見的格式串如下所示:
# 能用日志格式(CLF): "%h %l %u %t ""%r"" %>s %b"
# 帶虛擬主機的通用日志格式: "%v %h %l %u %t ""%r"" %>s %b"
# NCSA擴展/組合日志格式: "%h %l %u %t ""%r"" %>s %b ""%{Referer}i"" ""%{User-agent}i"""
# Referer日志格式: "%{Referer}i -> %U"
# Agent (Browser)日志格式: "%{User-agent}i"
########6.URL Rewrite
# 注意:根據你的服務器配置,可能有必要對例子作些微修改,
# 比如,新啟用 mod_alias 和 mod_userdir 時要增加[PT]標志,
# 或者重寫 .htaccess 而不是單個服務器中的規則集。
# 對一個特定的規則集應該首先去理解而后再去用以避免出問題。
# 重寫語法
# RewriteEngine on
# RewriteRule ^/$ /www/ [R]
# 一般重寫方法
# 重寫頁面:http://gi.2288.org:88/modules/news/index.php
# RewriteRule /modules/news/index.htm$ /modules/news/index.php
# 完成頁面: http://gi.2288.org:88/modules/news/index.htm
# 重寫頁面: http://gi.2288.org:88/modules/news/index.php?storytopic=2
# RewriteRule /modules/news/topic_(.*).htm$ /modules/news/index.php?storytopic=$1
# 完成頁面: http://gi.2288.org:88/modules/news/topic_2.htm
# 重寫頁面:http://gi.2288.org:88/index.php?storytopic=2start=10
# RewriteRule /topic(.*)-(.*).htm$ /index.php?storytopic=$1&start=$2
# 完成頁面: http://gi.2288.org:88/topic2-2.htm
# 注: 每增加一個重寫ID,必須累加$1
# 比如頁面: http://gi.2288.org:88/ct=2x=10y=20
# 可以這樣重寫:
# RewriteRule /ct(.*)-(.*)-(.*).htm$ /ct=$1x=$2y=$3
# 效果: http://gi.2288.org:88/ct2-10-20.htm
# 移動宿主目錄到不同的網站服務器
# 說明:
# 通常,許多網管在建立一個新的網站服務器時,都會有這樣的要求:
# 重定向一個網站服務器上的所有宿主目錄到另一個網站服務器
# 方案:
# 很簡單,用mod_rewrite。在老的網站服務器上重定向所有的URL
# /~user/anypath到http://newserver/~user/anypath。
# RewriteEngine on
# RewriteRule ^/~(.+) http://newserver/~$1 [R,L]
# 依賴于瀏覽器的內容
# 說明:
# 至少對重要的頂級頁面,有時候有必要提供依賴于瀏覽器的最佳的內容,
# 即對最新的Netscape提供最大化的版本,對Lynx提供最小化的版本,
# 而對其他的瀏覽器則提供一個功能一般的版本。
# 方案:
# 對此,內容協商無能為力,因為瀏覽器不提供其那種形式的類型,
# 所以只能在HTTP頭"User-Agent"上想辦法。
# 以下規則集可以完成這個操作:
# 如果HTTP頭"User-Agent"以"Mozilla/3"開頭,
# 則頁面foo.html 被重寫為foo.NS.html ,而后重寫操作終止;
# 如果是"Lynx"或者版本號為1和2的"Mozilla",則重寫為foo.20.html ;
# 而其他所有的瀏覽器收到的頁面則是foo.32.html :
# RewriteCond %{HTTP_USER_AGENT} ^Mozilla/3.*
# RewriteRule ^foo.html$ foo.NS [L]
# RewriteCond %{HTTP_USER_AGENT} ^Lynx/.* [OR]
# RewriteCond %{HTTP_USER_AGENT} ^Mozilla/[12].*
# RewriteRule ^foo $ foo.20 [L]
# RewriteRule ^foo $ foo.32 [L]
# 阻止Robots
# 說明:
# 如何阻止一個完全匿名的robot取得特定網絡區域的頁面?
# 一個/robots.txt文件可以包含若干"Robot Exclusion Protocol(robot排除協議)"的行,
# 但不足以阻止此類robot。
# 方案:
# 可以用一個規則集以拒絕對網絡區域/~quux/foo/arc/
# (對一個很深的目錄區域進行列表可能會使服務器產生很大的負載)的訪問。
# 還必須確保僅阻止特定的robot,就是說,僅僅阻止robot訪問主機是不夠的,
# 這樣會同時也阻止了用戶訪問該主機。為此,就需要對HTTP頭的User-Agent信息作匹配。
# RewriteCond %{HTTP_USER_AGENT} ^NameOfBadRobot.*
# RewriteCond %{REMOTE_ADDR} ^123.45.67.[8-9]$
# RewriteRule ^/~quux/foo/arc/.+ - [F]
# 防止盜鏈圖片
# 說明:
# 假設,http://gi.2288.org:88/myalbum/有一些內嵌圖片的頁面,
# 這些圖片很好,所以就有人用超鏈連到他們自己的頁面中了。
# 由于這樣徒然增加了我們的服務器的流量,因此,我們不愿意這種事情發生。
# 方案:
# 雖然,我們不能100%地保護這些圖片不被寫入別人的頁面,
# 但至少可以對發出HTTP Referer頭的瀏覽器加以限制。
# RewriteCond %{HTTP_REFERER} !^$
# RewriteCond %{HTTP_REFERER} !^http://gi.2288.org:88/myalbum/.*$ [NC]
# RewriteRule .*.gif$ - [F]
# RewriteCond %{HTTP_REFERER} !^$
# RewriteCond %{HTTP_REFERER} !.*/foo-with-gif.html$
# RewriteRule ^inlined-in-foo.gif$ - [F]
########其他
# 禁止盜鏈
# SetEnvIfNoCase Referer "^http://gi.2288.org:88/" local_ref=1
# <FilesMatch ".(gif|jpg|png|jpeg|zip|rar|exe|swf|txt)">
# Order Allow,Deny
# Allow from env=local_ref
# </FilesMatch>
# 加載 PHP 5
# LoadModule php5_module c:phpphp5apache2.dll
# #AddModule mod_php4.c
# AddType application/x-httpd-php .php
# ScriptAlias /php/ "c:/php/"
# AddType application/x-httpd-php .php
# Action application/x-httpd-php "/php/php-cgi.exe"
新聞熱點
疑難解答