Apache HTTP 伺服器 2.4 版
網路上的位址使用網址 (統一資源定位器) 表達,其中會指定一個通訊協定 (例如 http
)、伺服器名稱 (例如 www.apache.org
)、網址路徑 (例如 /docs/current/getting-started.html
) 以及用於傳送額外引數給伺服器的查詢字串 (例如 ?arg=value
)。
用戶端 (例如:網路瀏覽器) 會使用指定的通訊協定連線至伺服器 (例如:您的 Apache HTTP 伺服器) 並使用網址路徑對某個資源提出要求。
網址路徑可能代表伺服器上的任何物件。它可能是檔案 (例如:getting-started.html
)、處理程式 (例如:server-status
) 或某種類型的程式檔案 (例如:index.php
)。我們將在 網站內容 區段下方詳細討論這部分的內容。
伺服器會傳送一個包含狀態碼和回應主體的回應。狀態碼表示要求是否成功,如果失敗,則會顯示發生什麼類型的錯誤狀況。這會告訴用戶端如何處理回應。您可以在 HTTP 伺服器 wiki 閱讀有關可能的回應代碼。
交易的詳細資訊和任何錯誤狀況都會寫入日誌檔。這會在 日誌檔案和疑難排解 區段中更詳細地討論。
為了連接伺服器,用戶端必須先將伺服器名稱解析為 IP 位址,此位址為伺服器在網際網路上所在位置。因此,為了讓你的網頁伺服器可被存取,必須讓伺服器名稱在 DNS 中。
如果你不知道如何執行此動作,你必須聯絡你的網路管理員或網路服務供應商,請他們替你執行這個步驟。
多個主機名稱可能指向同一個 IP 位址,而且多個 IP 位址可以附加到同一台實體伺服器。因此,你可以使用稱為虛擬主機的功能,在同一台實體伺服器上執行多個網站。
如果你正在測試無法由網際網路存取的伺服器,你可以將主機名稱放入你的 hosts 檔案中,以進行區域解析。例如,你想在你的 hosts 檔案中放入一筆紀錄,將對 www.example.com
的要求映射到你本地的系統,以進行測試。這個項目看起來會像
127.0.0.1 www.example.com
hosts 檔案可能位於 /etc/hosts
或 C:\Windows\system32\drivers\etc\hosts
。
你可以閱讀更多關於 hosts 檔案的資料,請參閱Wikipedia.org/wiki/Hosts_(file),以及更多關於 DNS 的資料,請參閱Wikipedia.org/wiki/Domain_Name_System。
Apache HTTP Server 是透過簡單的文字檔進行設定。這些檔案可能位於許多位置中的任何一個,這取決於你如何安裝伺服器。這些檔案的常見位置可能可以在httpd wiki 中找到。如果你從來源安裝 httpd,設定檔的預設位置為 /usr/local/apache2/conf
。預設設定檔通常稱為 httpd.conf
。這也會在伺服器的第三方分佈中有所不同。
設定通常會分成多個較小的檔案,以方便管理。這些檔案會透過Include
指令載入。這些子檔案的名稱或位置並非神奇的,而且會在不同的安裝中差異很大。排列和細分這些檔案的方式應以對你來說最有意義。如果你預設的檔案排列方式對你來說沒有意義,你可以自由地重新排列。
伺服器會透過在這些設定檔中放置設定指令來設定。指令為一個關鍵字,其後跟著一或多個用來設定其值的引數。
「我應將此指令置於何處?」此問題一般會考慮希望指令發揮效用的位置來解答。若為全域設定,應出現在設定檔中,置於任何 <Directory>
、<Location>
、<VirtualHost>
或其他區段外部。若僅套用於特定目錄,則應置於參照該目錄的 <Directory>
區段內,依此類推。請參閱 設定區段 文件以進一步討論這些區段。
除了主設定檔外,特定指令可能放在置於內容目錄中的 .htaccess
檔案內。.htaccess
檔案主要是供無法存取主伺服器設定檔的人員使用。您可在 .htaccess
操作手冊 中進一步了解 .htaccess
檔案。
網站內容可以採取許多不同的形式,但大致可分為靜態內容和動態內容。
靜態內容包括 HTML 檔案、影像檔案、CSS 檔案,以及駐留在檔案系統中的其他檔案。DocumentRoot
指令會指定在檔案系統中的何處放置這些檔案。此指令會在全域設定或每個虛擬主機上設定。查看您的設定檔,以確定伺服器的設定方式。
一般而言,當要求目錄時,若未指定檔案名稱,將會提供稱為 index.html
的文件。例如,若 DocumentRoot
已設定為 /var/www/html
,且對 http://www.example.com/work/
發出要求,檔案 /var/www/html/work/index.html
將會提供給用戶端。
動態內容是在要求時產生的,且可能因要求不同而有所不同。動態內容有許多產生方式。可以使用各種 處理常式 來產生內容。可以撰寫 CGI 程式 來為您的網站產生內容。
可以使用 mod_php 等第三方模組,撰寫執行各種作業的程式碼。許多第三方應用程式(使用各種語言和工具撰寫)可供下載與安裝在您的 Apache HTTP Server 上。這類第三方服務的支援不在此文件的討論範圍內,您應尋找其文件或其他支援論壇來解答相關問題。