<-
Apache > HTTP 伺服器 > 文件 > 2.4 版本

Apache 的處理函式使用方式

語言:  en  |  es  |  fr  |  ja  |  ko  |  tr  |  zh-cn 

此文件說明 Apache 處理函式的使用方法。

Support Apache!

另請參閱

top

處理函式是什麼

「處理函式」是 Apache 內部的表示方式,表示呼叫檔案時要執行的動作。一般來說,檔案都有隱含的處理函式,根據檔案類型而定。通常,所有檔案都只由伺服器提供服務,但某些檔案類型會另外「處理」。

處理函式也可以根據檔名副檔名或位置明確設定,而不論檔案檔案類型。這種方式的優點有二,一是較為靈活,二是檔案可以同時有類型 處理函式。(同時參閱 有多個副檔名的檔案。)

處理函式可以內建在伺服器中或包含在模組中,也可以使用 動作 指令加入。標準發行版中的內建處理函式如下:

top

範例

使用 CGI 程式修改靜態內容

下列指令會導致對於副檔名為 html 的檔案請求觸發 footer.pl CGI 程式的啟動。

Action add-footer /cgi-bin/footer.pl
AddHandler add-footer .html

然後 CGI 程式負責傳送最初請求的檔案(由 PATH_TRANSLATED 環境變數指向)並進行任何需要的修改或新增。

含有 HTTP 標頭的檔案

下列指令會啟用 send-as-is 處理常式,這適用於包含其自身 HTTP 標頭的檔案。/web/htdocs/asis/ 目錄中的所有檔案都將由 send-as-is 處理常式處理,而不論其副檔名為何。

<Directory "/web/htdocs/asis">
    SetHandler send-as-is
</Directory>
top

程式設計人員備註

為了實作處理常式功能,在 Apache API 中有一個新增內容供您使用。特別地,在 request_rec 結構中新增了一筆記錄

char *handler

如果您希望您的模組使用一個處理常式,您只需在請求的 invoke_handler 階段之前,隨時將 r->handler 設為處理常式的名稱即可。處理常式實作起來和以前一樣,只是使用處理常式名稱取代內容類型。儘管不是必要的,但處理常式的命名慣例是使用破折號分隔的字詞,沒有斜線,以免侵入媒體類型名稱空間。

語言:  en  |  es  |  fr  |  ja  |  ko  |  tr  |  zh-cn 

top

意見

注意
這裡不是問答區。在此處放置的意見應指向改善文件或伺服器的建議,且可能會由我們的管理員移除,如果這些意見已被實作或被認為無效/離題的話。有關如何管理 Apache HTTP Server 的問題應導向我們的 IRC 頻道,#httpd,在 Libera.chat 上,或傳送至我們的 郵件清單