首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

Apache httpd.conf 設定詳解(三):目錄索引、MIME 類型、語言協商、錯誤頁面與代理設定

     編輯:PHP 相關知識

目錄索引美化:FancyIndexing

IndexOptions FancyIndexing
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/tar.gif .tar
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/folder.gif ^^DIRECTORY^^
DefaultIcon /icons/unknown.gif
ReadmeName README
HeaderName HEADER
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t

啟用 FancyIndexing 後,目錄列表會顯示圖示、標頭/說明檔(README, HEADER),並可依編碼/MIME/副檔名指派圖示。

內容編碼與語言協商

AddEncoding x-compress Z
AddEncoding x-gzip gz

AddLanguage en .en
AddLanguage fr .fr
AddLanguage de .de
LanguagePriority en fr de
  • AddEncoding:告知瀏覽器檔案壓縮格式,自動解壓。
  • AddLanguage + LanguagePriority:同一檔案可有多語言版本(如 index.html.en, index.html.fr),Apache 依瀏覽器 Accept-Language 自動選擇。

MIME 類型與處理器對應

AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps

AddHandler cgi-script .cgi
AddHandler server-parsed .shtml
AddType text/html .shtml
  • AddType:副檔名對應 MIME 類型(覆蓋 mime.types)。
  • AddHandler:指定非靜態處理器(CGI、SSI)。
  • SSI 需搭配 Options Includes 或 Options IncludesNOExec。
  • XBitHack On:執行位元為 1 的 HTML 視為 SSI,但會降低效能,建議關閉改用 AddHandler。

動作對應

Action media/type /cgi-script/location
Action handler-name /cgi-script/location

針對特定 MIME 類型或處理器名稱,指定外部 CGI 程式預處理(如 .wri → wri2txt → 輸出 text/html)。

Meta 資訊與錯誤文件

MetaDir .web
MetaSuffix .meta

ErrorDocument 404 /missing.html
ErrorDocument 403 https://example.com/forbidden.html
ErrorDocument 500 /cgi-bin/error_handler.pl
  • MetaDir/Suffix:提供額外 HTTP 標頭資訊(HEAD 請求可見)。
  • ErrorDocument:自訂錯誤頁面,支援本地路徑、CGI 腳本、外部 URL。

瀏覽器相容性調整

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

針對舊版瀏覽器/客戶端關閉 KeepAlive、強制 HTTP/1.0 回應等相容性修正。

虛擬主機與代理(片段)

#NameVirtualHost 12.34.56.78:80
#<VirtualHost 12.34.56.78>
#  ServerAdmin webmaster@host.domain.com
#  DocumentRoot /www/docs/host.domain.com
#  ServerName host.domain.com
#</VirtualHost>

#ProxyRequests On
#<Proxy *>
#  Order deny,allow
#  Deny from all
#  Allow from .your_domain.com
#</Proxy>
#ProxyVia On

虛擬主機支援多域名共享 IP;代理模組需載入 mod_proxy,提供正向代理與快取功能。

結語

httpd.conf 以模組化指令控制 Apache 核心行為。理解目錄索引、MIME 對應、語言協商、錯誤處理、代理等設定,能精準調校 Web 伺服器行為,解決相容性、效能、安全性等實務問題。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved