#
# 基於NCSA 服務的設定檔。
#
#這是Apache伺服器主要設定檔。
#它包含伺服器的影響伺服器運行的設定指令。
#請參閱<URL:http://httpd.ache.org/doc-2.0/>以取得關於這些指令的詳細信息
#
#不要只是簡單的閱讀這些指令資訊而不去理解它。
#這裡只是做了簡單的說明,如果你沒有參考線上文件,你就會被警告。
#
#這些設定指令被分成下面三個部分:
#1. 控制整個Apache伺服器行為的部分(即全域環境變數)
#2. 定義主要或預設服務參數的指令,也為所有虛擬主機提供預設的設定參數
#3. 虛擬主機的設定參數
#
#設定與日誌檔名:如果你指定的檔名以「/」開始(win32下以「dirver:/」),
#伺服器將使用絕對路徑,如果檔案名稱不是以「/」開始的,那麼它將把ServerRoot
#的值附加在檔案名稱的前面,例如,對“logs/foo.log",如果ServerRoot的值
#為“/usr/local/apache2”,則該檔案應為“/usr/local/apache2/logs/foo.log”
#
##第一區:全域環境參數
#
#這裡設定的參數將影響整個Apache伺服器的行為;
#例如Apache能夠處理的並發請求的數量等。
#
#ServerRoot:指出伺服器保存其配置、出錯和日誌檔案等的根目錄。
#
#注意!如果你想要將它指定為NFS或其它網路上的位置,
#請一定要去閱讀與LockFile相關的文件(可能在
#<URL:http://httpd.apache.org/docs-2.0/mod/mpm_common.html#lockfile>)。
#這將會使你自己也能解決很多問題。
#
#路徑的結尾不要加斜線。
#
ServerRoot "/usr/loacl/apache2" [Cut-Page]
#
#串行存取的鎖定檔案必須保存在本機磁碟上
#
<IfModule !mpm_winnt.c>
<IfModule !mpm_neware.c>
#LockFile logs/accept.lock
</IfModule>
</IfModule>
#ScoreBoardFile:用來保存內部服務流程資訊的檔案。
#如果未指明(預設),記分板(scoreboard)將被保存在一個匿名的共享記憶體段中,
#且它不能被第三方軟體所使用。
#如果指定了,要確保不能使用兩個Apache使用同一個記分板文件,
#這個記分板檔案必須保存在本機磁碟上。
#
<IfModule !mpm_netware.c>
<IfModule !perchild.c>
#ScoreBoardFile logs/apache_runtime_status
<IfModule>
<IfModule>
#
#PidFile:記錄伺服器啟動進程號的檔案。
#
<IfModule !mpm_neware.c>
PidFile logs/httpd.pid
</IfModule>
#
#Timeout:接收與傳送前超時秒數
#
Timeout 300
#
#KeepAlive:是否允許穩固的連線(每個連線有多個請求),
#設為"Off"則停用。
#
KeepAlive On
#
#MaxKeepAliveRequests:在穩固連線期間允許的最大請求數,
#設為0表示無限制存取。
#我們推薦你將其設
為一個較大的值,以便提高效能
MaxKeepAliveRequests 100
#
#KeepAliveTimeout:在同一個連線上從同一台客戶上接收請求的秒數
#
KeepAliveTimeout 15
##
##Server-Pool大小設定(針對MPM的)
##
# prefork MPM
# StartServers:啟動時伺服器啟動的進程數
# MinSpareServers:保有的備用進程的最小數目
# MaxSpareServers:保有的備用進程的最大數目
# MaxClients:伺服器允許啟動的最大進程數
# MaxRequestsPerChild:一個服務程序允許的最大請求數
<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestPerChild 0
</IfModule> [Cut-Page]
# worker MPM
# StartServers:伺服器啟動時的服務程序數目
# MaxClients:允許同時連線的最大使用者數目
# MinSpareThreads:保有的最小工作執行緒數目
# MaxSpareThreads:允許保有的最大工作執行緒數目
# ThreadsPerChild:每個服務程序中的工作執行緒常數
# MaxRequestsPerChild:服務程序中允許的最大請求數目
<IfModule worker.c>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
# perchild MPM
# NumServers:服務程序數量
# StartThreads:每個服務程序中的起始執行緒數量
# MinSpareThreads:保有的最小執行緒數量
# MaxSpareThreads:保有的最大執行緒數量
# MaxThreadsPerChild:每個服務程序允許的最大執行緒數
# MaxRequestsPerChild:每個服務進程允許連線的最大數量
<IfModule perchild.c>
NumServers 5
StartThreads 5
MinSpareThreads 5
MaxSpareThreads 10
MaxThreadsPerChild 20
MaxRequestsPerChild 0
</IfModule>
# WinNT MPM
# ThreadsPerChild:服務程序中工作執行緒常數
# MaxRequestsPerChild:服務程序允許的最大請求數
<IfModule mpm_winnt.c>
ThreadsPerChild 250
MaxRequestsPerChild 0
</IfModule>
# BeOS MPM
# StartThreads:伺服器啟動時啟動的執行緒數
# MaxClients:可以啟動的最大執行緒數(一個執行緒等於一個使用者)
# MaxRequestsPerThread:每個執行緒允許的最大請求數
<IfModule beos.c>
StartThreads 10
MaxClients 50
MaxRequestsPerThread 10000
</IfModule>
# NetWare MPM
# Threa
dStachSize:為每個工作執行緒分配的堆疊尺寸
# StartThreads:伺服器啟動時啟動的執行緒數
# MinSpareThreads:用於處理實發請求的空閒執行緒數
# MaxSpareThreads:空閒執行緒的最大數量
# MaxThreads:在同一時間活動的最大執行緒數
# MaxRequestPerChild:一個執行緒服務請求的最大數量,
# 建議將其設為0,以實現無限制的接入
<IfModule mpm_netware.c>
ThreadStackSize 65536
StartThreads 250
MinSpareThreads 25
MaxSpareThreads 250
MaxThreads 1000
MaxRequestPerChild 0
</IfModule>
# OS/2 MPM
# StartServers:啟動的服務程序數量
# MinSpareThreads:每個行程允許的最小空閒線程
# MaxSpareThreads:每個行程允許的最大空閒執行緒
# MaxRequestsPerChild:每個服務程序允許的最大連線數
<IfModule mpmt_os2.c>
StartServers 2
MinSpareThreads 5
MaxSpareThreads 10
MaxRequestsPerChild 0
</IfModule> [Cut-Page]
#
# Listen:允許你綁定Apache服務到指定的IP位址和連接埠上,取代預設值
# 參見<VirtualHost>指令
# 使用下列指令使Apache只在指定的IP位址上監聽,
# 以防止它在IP位址0.0.0.0上監聽
#
# Listen 12.34.56.78:80
Listen 80
#
# 動態共享支援(DSO)
#
# 為了能夠使用那些以DSO模式編譯的模組中的函數,你必須有對應的「LoadModule」行,
# 因此,這裡包含了這些指令,以便能在使用它之前啟動。
# 那些靜態編譯的模組不需要在這裡列出(即以「httpd -l」列出的模組)
#
# 範例:
# LoadModule foo_module modules/mod_foo.so
#
#
# ExtendedStatus:當呼叫「server-status」時,控制Apache是產生「全」狀態
# 訊息(ExtendedStatus On),還是產生基本訊息(ExtendedStatus Off)。
# 預設為off
#
# ExtendedStatus On
### 第二區:「主」服務配置
#
# 這一區建立被「主」 伺服器用的指令值,以回應那些不被<VirtualHost>
# 定義處理的任何請求。
# 這些數值也提供預設值給後面定義的<VirtualHost>容器。
# 如果<VirtualHost>中有定義,那麼這裡定義的指令值將會被
# <VirtualHost>中的定義所覆寫。
#
<IfModule !mpm_winnt.c>
<IfModule !mpm_neware.c>
#
# 如果你想讓httpd以另外的使用者或群組來運行,你必須在開始時以root方式啟動
# 然後再將它切換為你想要使用的使用者或群組。
#
# User/Group:執行httpd的使用者和群組
# 在SCO (ODT3)上使用“User nouser”和“Group nogroup”
# 在HPUX上,你可能無法以nobody身分使用共享內存,建議建立一個www用戶。
# 注意一些核心(kernel)在群組ID大於60000時拒絕setgid(Group)或semctl(IPC_SET),
#節在這些系統上不要使用「Group #-1」。
#
User nobody
Group #-1
</IfModule>
</IfModule>
#
# ServerAdmin:你的郵件地址,當發生問題時Apache將向你發送郵件。
# 作為一個出錯文檔,這個地址顯示在server-generated頁上,
# 例如:[email protected]
#
ServerAdmin [email protected]
#
# ServerName指定Apache用於識別自身的名字和連接埠號碼。
# 通常這個值是自動指定的,但是我們推薦你明確的指定它以防止啟動時出錯
#
# 如果你為你的主機指定了一個無效的DNS名,server-generated重定向將無法運作。
# 參閱UseCanonicalName指令
#
# 如果你的主機沒有註冊DNS名,在這裡鍵入它的IP位址
# 無論如何,你必須使用它的IP位址來提供服務,
# 這裡使用一種容易理解的方式重定向服務
ServerName www.dalouis.com:80
#
# UseCanonicalName:決定Apache如何建構URLS和SERVER_NAME 和SERVER_PORT 的指令。
# 設定為「Off」時,Apache會使用用戶端提供的主機名稱和連接埠號碼。
# 當設定為「On」,Apache會使用ServerName指令的值。
#
UseCanonicalName Off [Cut-Page]
#
# DocumentRoot:你的文件的根目錄。預設情況下,所有的請求從這個目錄進行應答。
# 但是可以使用符號連結和別名來指向到其他的位置。
#
DocumentRoot "/home/redhat/public_html"
#
# Apache可以存取的每個目錄都可以設定存取權限(包括它的子目錄)。
#
# 首先,我們配置一個高限制的特徵。
# 這將禁止存取檔案系統所在的目錄,並新增你希望允許存取的目錄區塊。
# 如下圖所示
<Directory />
Order Deny,Allow
Deny from all
</Directory>
#
# 注意從這裡開始你一定要明確地允許哪些特別的特徵能夠被使用。
# - 所以,如果Apache沒有像你所期待的那樣工作的話,
# 請檢查你是否在下面明確的指定它可用。
#
#
# 這將改變到你設定的DocumentRoot
#
<Directory "/home/redhat/public_html">
#
# Options:這個指令的值可以是“None”,“All”,或是下列選項的任意組合:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# 注意,「MultiViews」必須被明確的指定,「Options All」不能提供你這個特性。
#
# 這個指令既複雜又重要,請參見
#“http://httpd.apache.org/docs-2.0/mod/core.html#optioins”以取得更多的資訊。
#
Options FollowSymLinks
#
# AllowOverride控制那些被放置在.htaccess檔案中的指令。
# 它可以是“All”,“None”,或下列指令的組合:
# Options FileInfo
AuthConfig Limit
#
AllowOverride None
#
# 控制誰可以獲得服務。
#
Order allow,deny
Allow from all
</Directory>
#
# UserDir:指定在得到一個~user請求時將會加入到使用者home目錄後的目錄名稱。
#
UserDir public_html
# 為防止在UserDir指令上的漏洞,對root使用者設定
# 象「./」這樣的UserDir是非常有用的。
# 如果你使用Apache 1.3或以上版本,我們強烈建議你
# 在你的伺服器設定檔中包含下面的行[Cut-Page]
UserDir disabled root
#
# 以下是一個使用UserDir指令使一個網站的目錄具有唯讀屬性的範例:
#
# <Directory /home/*/public_html>
# AllowOverride FileInfo AuthConfig Limit Indexes
# Options MultiViews Indexes SymLinksIfOwnerMatch IncludeNoExec
# <Limit GET POST OPTIONS PROPFIND>
# Order allow,deny
# Allow from all
# </Limit>
# <LimitExcept GET POST OPTIONS PROPFIND>
# Order deny,allow
# Deny from all
# </LimitExcept>
# </Directory>
#
# DirectoryIndex:定義請求是一個目錄時,Apache會向使用者提供服務的檔案名
#
# index.html.var檔案(一個類型映像檔案)用於提供一個文檔處理列表,
# 出於同樣的目的,也可以使用MultiViews選項,但是它會非常慢。
#
DirectoryIndex index.php index.html index.html.var
#
# AccessFileName:在每個目錄中查詢為目錄提供附加設定指令的檔案的檔案名稱。
# 請參閱AllowOverride指令。
#
AccessFileName .htaccess
#
# 下面的行防止.htaccess和.htpasswd檔案被Web客戶檢視。
#
<Files ~ "^.ht">
Order allow,deny
Deny from all
</Files>
#
# Typeconfig:定義在哪裡查詢mime.types檔。
#
TypeConfig conf/mime.types
#
# DefaultType:定義當無法確定MIME類型時伺服器提供的預設MIME類型。
# 如果你的服務主要包含text或HTML文檔,「text/plain」是一個很好的選擇;
# 如果大多是二進位文檔,諸如軟體或影像,你應該使用
# “application/octer-stream”來防止瀏覽器象顯示文字那樣顯示二進位。
#
DefaultType text/plain
#
# mod_mime_magic允許伺服器從自己定義自己類型的檔案中使用不同的線索(hints),
# 這個MIMEMagicFile指令定義hints定義所在的檔案。
#
<IfModule mod_mime_magic.c>
MIMEMagicFile
conf/magic
</IfModule>
#
# HostnameLookups:指定記錄用戶端的名字還是IP位址,例如,本指令為on時
# 記錄主機名,如www.apache.org;為off時記錄IP位址,204.62.129.132。
# 預設值為off,這要比設為on好得多,因為如果設為on則每個用戶端請求都會
# 至少造成一次對nameserver 查詢。
#
HostnameLookups Off
#
# EnableMMAP:控制是否進行記憶體轉儲(如果作業系統支援的話)。
# 預設為on,如果你的伺服器安裝在網路檔案系統上(NFS),請關閉它。
# 在某些系統上,關閉它會提升系統效能(與檔案系統類型無關);
# 具體情況請參考http://httpd.apache.org/docs-2.0/mod/core.html#enablemmap
#
# EnableMMAP off
#
# EnableSendfile:控制是否使用sendfile kernel支援傳送文件
# (如果作業系統支援的話)。預設為on,如果你的伺服器安裝在網路檔案系統
# (NFS)上,請你關掉它。
# 請參閱http://httpd.apache.org/docs-2.0/mod/core.html#enablesendfile
#
# EnableSendfile off
#
# ErrorLog:錯誤日誌檔定位。
# 如果你沒有在<VirtualHost>內定義ErrorLog指令,這個虛擬主機的錯誤訊息
# 將記錄在這裡。如果你在那裡定義了ErrorLog,這些錯誤訊息將會記錄在你所
# 定義的文件裡,而不是這裡定義的文件。 [Cut-Page]
#
# LogLevel:控制記錄在錯誤日誌檔案中的日誌資訊數量。
# 可能的值包括:debug,info,notice,warn,error,crit,alert,emerg。
#
LogLevel warn
#
# 下面的指令為CustomLog指令定義格式別名。
#
LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
LogFormat "%h %l %u %t "%r" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
# 你需要安裝了mod_logio.c模組才能使用%I和%O。
# LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i" %I %O" combinedio
#
# 指定存取日誌檔案的定位和格式(一般日誌格式)。
# 如果你沒有在<VirtualHost>內定義這個指令,傳輸訊息會記錄在這裡,
# 如果你定義了這個指令,則記錄在你指定的位置,而不是這兒定義的位置。
#
CustomLog logs/access_log common
#
# 如果你想要記錄agent和referer訊息,可以使用下面的指令
#
# CustomLog logs/referer_log referer
# CustomLog logs/agent_log agent
#
# 如果你想要使用一個檔案記錄access,agent和referer訊息,
# 你可以如下定義這個指令:
#
# CustomLog logs/access_log combined
#
# ServerTokens
# 這個指令定義包含在HTTP回應頭中的信息類型。預設為“Full”,
# 這表示在回應頭中將包含模組中的作業系統類型和編譯資訊。
# 可以設為列各值中的一個:
# Full | OS | Minor | Minimal | Major | Prod
# Full傳達的訊息最多,而Prod最少。
#
ServerTokens Full
#
# 隨意的添加包含伺服器版本和虛擬主機名字一行資訊到server-generated輸出頁中
# (內部錯誤文檔,FTP目錄列表,mod_status和mod_info輸出等等,除了CGI錯誤
# 或自訂的錯誤文檔以外)。
# 設為「EMail」將包含一個指向ServerAdmin的mailto:連線。
# 可以為下列金額:On | Off | EMail
#
ServerSignature On
#
# Aliases:在這時加入你需要的別名,格式如下:
# Alias 別名真實名
#
# 注意,如果你在別名的未尾包含了“/”,那麼在URL中也需要包含“/”。
# 因此,「/icons」不是這個範例中的別名。
# 如果別名中以「/」結尾,那麼真實名也必須以「/」結尾,
# 如果別名中省略了結尾的“/”,那麼真實名稱也必須省略。
#
# 我們使用別名「/icons/」來表示FancyIndexed目錄列表,如果你不使用、
# FancyIndexing,你可以註解掉它。
#
# Alias /icons/ "/usr/local/apache2/icons/"
# <Directory "/usr/local/apache2/icons">
# Options Indexes MultiViews
# AllowOverride None
# Order allow,deny
## Allow from all
# </Directory> [Cut-Page]
#
# 這將改變ServerRoot/manual。這個別名提供了手冊頁所在的位置,
# 即使你改變了你的DocumentRoot。如果你對有無手冊頁並不在意的話,
# 你可以註解掉它。
#
Alias /manual "/usr/loacl/apache2/manual"
<Directory "/usr/local/apache2/manual">
Options Indexes FollowSymLinks MultiViews IncludesNoExec
AddOutputFilter Includes html
Order allow,deny
Allow from all
</Directory>
#
# ScriptAlias:指定包含服務腳本的目錄。
# ScriptAliases 本質上與Aliases一樣,除了這裡的文件在請求時做為程式處理處理以外。
# 尾部的「/」規則與Alias一樣
#
ScriptAlias /cgi-bin/ "/usr/loacl/apache2/cgi-bin/"
# 這裡是新增php 4支援的指令
AddType application/x-httpd-php .php
LoadModule php4_module modules/libphp4.so
<IfModule mod_cgidc>
#
# 新增mod_cgid.c設置,mod_cgid提供使用cgid進行通訊的UNIX套接字的
# 腳本介面路徑。
#
# Scriptsock logs/cgisock
</IfModule>
#
# 將"/usr/local/apache2/cgi-bin"改為你的ScriptAliased指定的CGI目錄,
# 如果你配置了的話。
#
<Directory "/usr/local/apache2/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
#
# Redirect允許你告訴客戶端使用存在於伺服器名字空間中的文檔,
# 而不是現在的,這幫助客戶定位那些改變了位置的文件。
# 例如:
# Redirect permanent /foo http://www.example.com/bar
#
# 控制server-generated目錄清單顯示的指令
#
#
# IndexOptions:控制server-generated目錄清單顯示特徵。
#
IndexOptions FancyIndexing VersionSort
#
# AddIcon* 指令告訴伺服器不同副檔名的圖象檔如何顯示,
# 只適用於FancyIndexed指令
#
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core
AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^
#
# DefaultIcon 為那些沒有明確定義圖示的檔案提供處理
#
DefaultIcon /icons/unknown.gif
#
# AddDescription允許你在server-generated索引後面放置一個簡短的說明。
# 只對FancyIndexed指令有效。
# 格式:AddDescription "說明" 檔名
#
# AddDescription "GZIP compressed document" .gz
# AddDescription "tar archive" .tar
# AddDescription "GZIP compressed tar archive" .tgz
#
# ReadmeName指定伺服器預設尋找的README檔案的名字,並加入到目錄清單中
#
# HeaderName指定目錄清單前綴檔案的檔案名
ReadmeName README.html
HeaderName HEADER.html [Cut-Page]
#
# IndexIgnore指定目錄索引忽略且不包含在清單中的檔案名稱集合,
# 支援shell類型的通配符。
#
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
#
# AddEncoding允許你在訊息傳送中使用(Mosaic/X 2.1+)解壓縮訊息,
# 注意:不是所有的瀏覽器都支援這個選項。
# 儘管名字相似,但下列的指令與上面的FancyIndexing定制指令不同。
#
AddEncoding x-compress Z
AddEncoding x-gzip gz tgz
#
# DefaultLanguage和AddLanguage允許你指定文件的語言。
# 這使你可以讓使用者用容易理解的語言瀏覽文件。
#
# 指定預設的語言,這表示所有沒有指定語言的套件都將使用該語言。
# 在多數情況下,你也許並不想設定它,除非你確信這樣做是正確的。
# 通常,不使用確定的語言比使用錯誤的語言好。
#
# DefaultLanguage nl
#
# 注意1:作為語言關鍵字的詞綴毫無疑問是不能一樣的--採用波蘭
# 文的文檔(網路標準語言程式碼是pl)將希望使用“AddLanguage pl .po”
# 來避免與perl腳本的一般詞綴產生二義性。
#
# 注意2: 下面的例子舉例說明在一些範例中語言的二字縮寫與它的國家
# 的二字縮寫不相同,例如“Danmark/dk” 和“Danmark/da” 的比較.
#
# 注意3: 在「ltz」 的情況下我們使用三字符詞綴,違犯了RFC的規定,
# 運行中將修復它並使用RFC1766標準取得參考資料。
#
# Danish (da) - Dutch (nl) - English (en) - Estonian (et)
# French (fr) - 德國 (de) - Greek-Modern (el)
# Italian (it) - Norwegian (no) - Norwegian Nynorsk (nn) - Korean (ko)
# Portugese (pt) - Luxembourgeois* (ltz)
# Spanish (es) - Swedish (sv) - Catalan (ca) - Czech(cz)
# Polish (pl) - Brazilian Portuguese (pt-br) - Japanese (ja)
# Russian (ru) - Croatian (hr)
#
AddLanguage da .dk
AddLanguage nl .nl
AddLanguage en .en> AddLanguage et .et
AddLanguage fr .fr
AddLanguage de .de
AddLanguage he .he
AddLanguage el .el
AddLanguage it .it
AddLanguage ja .ja
AddLanguage pl .po
AddLanguage ko .ko
AddLanguage pt .pt
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pt-br .pt-br
AddLanguage ltz .ltz
AddLanguage ca .ca
AddLanguage es .es
AddLanguage sv .sv
AddLanguage cz .cz
AddLanguage ru .ru
AddLanguage tw .tw
AddLanguage zh-tw .tw
AddLanguage hr .hr
# LanguagePriority允許你在會話過程中優先使用一些語言。
#
# 以優先順序遞減的方式列出它們。我們或多或少採用按字母排列順序的方式
# 排列它們。也許你想要改變這個順序。
LanguagePriority en da nl et fr de el it ja ko no pl pt pt-br ltz ca es sv tw
#
# ForceLanguagePriority 允許你為MULTIPLE CHOICES(Prefer)[在通訊的情況下]
# 或NOT ACCEPTABLE(Fallback)[沒有可接受的語言匹配的情況]提供一個結果頁。
#
ForceLanguagePriority Prefer Fallback
#
# 為發送出的所有頁指定預設的字元集,這總是一個好主意,並且為您的
# web站點的國際化打開了大門,這不正是你曾經想要的。同樣地,指定
# 預設字元集有一些小的損害,如一個使用iso-8859-1(latin1)標準指令
# 的頁面,除非以別的方式指定例如你僅以顯式方式宣告它。
# 也有一些與那些總是鼓勵你使用預設字元集的javascropt和URL語法有關
# 的瀏覽器安全原因。
#
#AddDefaultCharset ISO-8859-1
AddDefaultCharse GB2312
#
# 一般以檔案副檔名的方式使用字元集。也許你想要避免與語言擴展發生
# 碰撞,除非你在每次改變後都做了很好的測試。
# 請參閱http://www.iana.org/assignments/character-sets以取得字元集
# 的名字列表和它們各自的RFCs。
#
AddCharset ISO-8859-1 .iso8859-1 .latin1
AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen
AddCharset ISO-8859-3 .iso8859-3 .latin3
AddCharset ISO-8859-4 .iso8859-4 .latin4
AddCharset ISO-8859-5 .iso8859-5 .latin5 .cyr .iso-ru
AddCharset ISO-8859-6 .iso8859-6 .latin6 .arb
AddCharset ISO-8859-7 .iso8859-7 .latin7 .grk
AddCharset ISO-8859-8 .iso8859-8 .latin8 .heb
AddCharset ISO-8859-9 .iso8859-9 .latin9 .trk
AddCharset ISO-2022-JP .iso2022-jp .jis
AddCharset ISO-2022-KR .iso2022-kr .kis
AddCharset ISO-2022-CN .iso2022-cn .cis
AddCharset Big5 .Big5 .big5
# 對於俄語,使用了多個字元集(如何使用主要依靠客戶端):
AddCharset WINDOWS-1251 .cp-1251 .win-1251
AddCharset CP866 .cp866
AddCharset KOI8-r .koi8-r .koi8-ru
AddCharset KOI8-ru .koi8-uk .ua
AddCharset ISO-10646-UCS-2 .ucs2
AddCharset ISO-10646-UCS-4 .ucs4
AddCharset UTF-8 .utf8 [Cut-Page]
# 下面的字元集沒有對應到一個特定的標準(iso)上,但是它們在瀏覽器
# 中被廣泛的支持。注意那些大寫字母。
# (它不應該,但是它是為兼容一些瀏覽器而做)
#
# 請參閱http://www.iana.org/assianments/character-sets以取得
# 它們的清單。但是瀏覽器支援較少。
#
AddCharset GB2312 .gb2312 .gb
AddCharset utf-7 .utf7
AddCharset utf-8 .utf8
AddCharset big5 .big5 .b5
AddCharset EUC-TW .euc-tw
AddCharset EUC-JP .euc-jp
AddCharset EUC-KR .euc-kr
AddCharset shift_jis .sjis
#
# AddType允許你為指定的檔案類型新增或覆寫mime.types檔案中設定的MIME
#
AddType application/x-tar .tgz
AddType image/x-icon .ico
#
# AddHandler允許你映射確定的檔案副檔名到「handlers」:
# 與文件類型無關的行為。這既能編譯到伺服器中也可以加入到Action指令
# 中(看下面)。
# 為了在ScriptAliased指令指定的以外使用CGI腳本:
#(要使它可用,你還需要在Options中加入「ExecCGI」。
#
# AddHandler cgi-script .cgi
#
# 對於那些包含自己的HTTP頭的文件
#
# AddHandler send-as-is asis
#
# 對於server-parsed imagemap檔:
#
# AddHandler imap-file map
#
# agemap 檔案:
#
#AddHandler imap- 檔案映像
#
# 對於類型映像轉移資源)
#(這是預設的設定以允許Apache的「It Worked」頁能多種語言分發)。
#
AddHandler type-map var
#
# 過濾器允許你在將它發送到客戶端之前進行處理。
#
# 為了在伺服器端分析包含(SSI)的.shtml文件:
# (要執行這個指令,你還需要在Options指令中加入「Includes」。)
#
# AddType text/html .shtml
# AddOutputFilter INCLUDES .shtml
#
# Action讓你定義當呼叫符合的媒體檔案時將要執行的腳本。這將減少
# 那些經常使用的CGI腳本的URL路徑名的重複輸入。
# 格式:Action media/type /cgi-script/location
# 格式:Action handler-name /cgi-script/location
#
#
# 可設定的錯誤應答有三種風格:
# 1)plain text 2)local redirects 3) external redirects
#
# 一些範例:
# ErrorDocument 500 "The server made a boo boo."
# ErrorDocument 404 /missing.html
# ErrorDocument 404 "/cgi-bin/missing_handler.pl"
# ErrorDocument 402 http://www.example.com/subscription_info.html
# [Cut-Page]
#
# 綜合應用這些指令,我們可以創造一個國際化的錯誤反應。
#
# 我們使用Alias來重定向任意/error/HTTP_<error>.html.var應答到
# 我們的多語言錯誤訊息集合。使用正確的文字來取代它。
#
# 加入下面的行,你就能夠改變這些訊息的顯示,而不必改變
# HTTP_<error>.html.var檔。
#
# Alias /error/include/ "/your/include/path/"
#
# 以將/usr/local/apache2/error/include/下的檔案拷貝到/your/inclue/path/下
# 開始,你可以建立自己的檔案集合,甚至是其於每個虛擬主機的。
# 不管你的ServerSignature如何設置,預設的包含檔案會顯示你的
# Aapche版本號碼和你的ServerAdmin郵件地址
#
# 國際化的錯誤文件需要mod_alias,mod_include和mod_negotiation三個
# 模組。要啟動它們,取消下面30行的註解符號
# Alias /error/ "/usr/local/apache2/error/"
#
# <Directory "/usr/local/apache2/error">
# AllowOverride None
# Options IncludesNoExec
# AddOutputFilter Includes html
# AddHandler type-map var
# Order allow,deny
# Allow from all
# LanguagePriority en de es fr it nl sv
# ForceLanguagePriority Prefer Fallback
# </Directory>
#
# ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var
# ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var
ErrorDocument 403 /error.php
# ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var
# ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var
# ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var
# ErrorDocument 410 /error/HTTP_GONE.html.var
# ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var
# ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var
# ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var
# ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var
# ErrorDocument 415 /error/HTTP_SERVICE_UNAVAILABLE.html.var
# ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var
# ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var
# ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var
# ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var
# ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var
#
# 下面的命令更改標準的HTTP應答行為以處理己知的瀏覽器問題。
#
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4.0" force-response-1.0
BrowserMatch "Java/1.0" force-response-1.0
BrowserMatch "JDK/1.0" force-response-1.0
#
# 下面指令關閉對那些沒有尾部「/」的目錄的非GET請求的重定向,
# 這些指令修正了微軟的採用DAV方法無法正確處理重新導向的WEB資料夾的問題。
# Apple下的DAV檔案系統和Gnome下的VFS對DAV的支援也是採用這樣的方法
# 進行處理的。
#
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
BrowserMatch "^gnome-vfs" redirect-carefully
#
# 允許你使用URL:http://servername/server-status來透過mod_status生
# 成並報告伺服器狀態資訊。改變.example.com為你自己的網域。
#
# <Location /server-status>
# SetHandler server-status
# Order deny,allow
# Deny from all
# Allow from .example.com
# </Location> [Cut-Page]
#
# 允許使用URL:http://servername/server-info來遠端報告伺服器設定訊息
# (需要mod_info.c支援)。改變“.example.com”為你自己的網域。
#
# <Location /server-info>
# SetHandler server-info
# Order deny,allow
# Deny from all
# Allow from .example.com
# </Location>
#
# 代理伺服器指令,去掉下面的行使代理服務可用。
#
# <IfModule mod_proxy.c>
# ProxyRequests On
# <Proxy *>
# Order deny,allow
# Deny from all
# Allow from .example.com
# </Proxy>
#
# 安裝或關閉HTTP/1.1「通道」頭處理。
# (「Full」新增伺服器版本訊息,「Block」移掉所有輸出「通道」頭資訊。
# 可設為下面各選項之一:Off | On | Full | Block
#
# ProxyVia On
# 最好為代理服務安裝高速緩衝,去掉下面幾行的註解符號:
# (沒有CacheRoot則不緩衝)
#
# CacheRoot "/usr/local/apache2/proxy"
# CacheSize 5
# CacheGcInterval 4
# CacheMaxExpire 24
# CacheLastModifiedFactor 01
# CacheDefaultExpire 1
# NoCache a-domain.com another-domain.edu joes.garage-sale.com
# </IfModule>
# 代理命令結束。
#
# 附加的特定模組配置。
#
<IfModule mod_ssl.c>
Include conf/ssl.conf
</IfModule>
## 第三區:虛擬主機
#
# VirtualHost:你可以透過設定虛擬主機容器來實現在你的主機上保有多個
# 網域名稱/主機名稱。大多數設定資訊只使用基於名字的虛擬主機,因此伺服器
# 不必擔心IP位址的問題,下面的指令以*號取代虛擬主機名稱。
#
# 在你試著設定你的虛擬主機以前,請參見
# URL:http://httpd.apache.org/docs-2.0/vhosts/>以取得更多的資訊。
#
# 你可以使用命令列選項「-S」來檢驗你的虛擬主機設定。
#
# 使用基於名字的虛擬主機。
#
# NameVirtualHost *
#
# 虛擬主機範例:
# 幾乎所有的Apache指令都可以在虛擬主機容器中使用。
# 第一個虛擬主機區是用來向服務名稱未知的請求進行應答的設定。
#
# <VirtualHost *>
# ServerAdmin [email protected]
# DocumentRoot /www/docs/dummy-host.example.com
# ServerName dummy-host.example.com
# ErrorLog logs/dummy-host.example.com-error_log
# CustomLog logs/dummy-host.example.com-access_log commom
# </virtualHost>
#
#串行存取的鎖定檔案必須保存在本機磁碟上
#
<IfModule !mpm_winnt.c>
<IfModule !mpm_neware.c>
#LockFile logs/accept.lock
</IfModule>
</IfModule>
#ScoreBoardFile:用來保存內部服務流程資訊的檔案。
#如果未指明(預設),記分板(scoreboard)將被保存在一個匿名的共享記憶體段中,
#且它不能被第三方軟體所使用。
#如果指定了,要確保不能使用兩個Apache使用同一個記分板文件,
#這個記分板檔案必須保存在本機磁碟上。
#
<IfModule !mpm_netware.c>
<IfModule !perchild.c>
#ScoreBoardFile logs/apache_runtime_status
<IfModule>
<IfModule>
#
#PidFile:記錄伺服器啟動進程號的檔案。
#
<IfModule !mpm_neware.c>
PidFile logs/httpd.pid
</IfModule>
#
#Timeout:接收與傳送前超時秒數
#
Timeout 300
#
#KeepAlive:是否允許穩固的連線(每個連線有多個請求),
#設為"Off"則停用。
#
KeepAlive On
#
#MaxKeepAliveRequests:在穩固連線期間允許的最大請求數,
#設為0表示無限制存取。
#我們推薦你將其設
為一個較大的值,以便提高效能
MaxKeepAliveRequests 100
#
#KeepAliveTimeout:在同一個連線上從同一台客戶上接收請求的秒數
#
KeepAliveTimeout 15
##
##Server-Pool大小設定(針對MPM的)
##
# prefork MPM
# StartServers:啟動時伺服器啟動的進程數
# MinSpareServers:保有的備用進程的最小數目
# MaxSpareServers:保有的備用進程的最大數目
# MaxClients:伺服器允許啟動的最大進程數
# MaxRequestsPerChild:一個服務程序允許的最大請求數
<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestPerChild 0
</IfModule>