如何在 Apache 上啟用和設定 .htaccess 檔案?


簡介

Apache 是網際網路上使用最廣泛的 Web 伺服器軟體。Apache 的關鍵特性之一是名為 .htaccess 的配置檔案。

此檔案允許使用者控制各種伺服器設定,包括目錄級許可權、URL 重寫等等。在本文中,我們將探討如何在 Apache 伺服器上啟用和設定 .htaccess 檔案。

Apache 上 .htaccess 檔案的說明

.htaccess 檔案是一個配置檔案,允許網站所有者修改其網站行為的各個方面。".ht" 在 ".htaccess" 中代表 "超文字",指的是用於建立網頁的標記語言。此檔案的目的是為網站所有者或具有有限伺服器配置訪問許可權的管理員提供一種無需編輯全域性 Apache 配置即可進行更改的方法。

在 Apache 上啟用 .htaccess 檔案

在設定 .htaccess 檔案之前,務必確保伺服器允許它。出於安全原因,某些伺服器預設情況下會停用 .htaccess 檔案的使用。

要檢查您的伺服器是否允許 .htaccess 檔案 -

  • 使用 FTP 客戶端或您的主機提供商提供的檔案管理器連線到您的伺服器。

  • 導航到您網站的根目錄。

  • 建立一個名為 ".htaccess" 的新檔案。

  • 在此檔案中新增一些隨機文字並儲存。

嘗試訪問您網站上的任何頁面。如果您收到 "500 內部伺服器錯誤" 訊息,則表示您的伺服器不允許 .htaccess 檔案。但是,如果您能夠正常訪問該頁面,則可以繼續設定 .htaccess 檔案。

編輯 Apache 配置檔案以啟用 .htaccess 檔案

如果您在建立空 htacess 檔案時收到 "500 內部伺服器錯誤",則需要透過 Apache 配置檔案啟用 htacess。請按照以下步驟操作 -

  • 使用 FTP 客戶端或您的主機提供商提供的檔案管理器連線到您的伺服器。

  • 導航到您網站的根目錄並找到 "httpd.conf" 或 "apache2.conf"(或類似)配置檔案(通常位於 /etc/httpd/ 中)。

  • 使用 Notepad++ 或 Vim 等編輯器編輯此配置檔案(如果需要,請使用 sudo)。

注意 - 建議您在編輯此配置檔案之前建立其備份副本。

  • 搜尋適用於您網站的 "Directory" 部分(這取決於您伺服器的設定)。

  • 在此部分中,找到 "AllowOverride" 指令並將它的值更改為 "All"。

注意 - 如果您找不到 "AllowOverride" 指令,請在相關的 Directory 部分下新增此行。

  • 儲存並關閉配置檔案。

在 Apache 上設定 .htaccess 檔案

建立新的 .htaccess 檔案或編輯現有的檔案

在 Apache 伺服器上啟用 .htaccess 檔案的使用後,您可以建立一個新的 .htaccess 檔案或編輯現有的檔案。您可以使用任何文字編輯器(如記事本或 Sublime Text)建立新的 .htaccess 檔案。

將檔案儲存為 ".htaccess"(包括開頭的點)並將其上傳到您要應用其規則的目錄。如果您已經有現有的 .htaccess 檔案,則可以透過在文字編輯器中開啟它來編輯它。

如果您的伺服器在 Windows 上執行,請確保您的文字編輯器以 Unix 行尾儲存檔案。下面詳細解釋了在 .htaccess 檔案中編寫語法和規則。

瞭解在 .htaccess 檔案中編寫語法和規則

在 .htaccess 中編寫語法和規則與常規 HTML 或其他程式語言不同。以下是在建立或編輯您自己的 .htaccess 檔案時需要注意的一些基本概念概述 -

  • 每個指令應寫在它自己的行上,沒有任何額外的空格。

  • 雜湊 (#) 符號表示註釋掉。

  • 指令不區分大小寫;但是,最佳實踐是使用小寫。

  • 如果在這些指令內部編寫的程式碼中存在錯誤,將顯示錯誤訊息。

  • 指令的順序很重要;它們將從上到下應用。

一些常見的用例包括重定向 URL、密碼保護、阻止 IP 地址、自定義錯誤頁面、gzip 壓縮設定、MIME 型別、快取控制指令、Expires 標頭。熟悉這些指令各自的語法將有助於在建立/修改 htacess 檔案時避免錯誤。

使用 htaccess 進行密碼保護

.htaccess 檔案的密碼保護功能允許網站所有者限制對他們網站上某些目錄或網頁的訪問。這對於保護敏感資訊或將某些內容限制為特定使用者很有用。要啟用密碼保護,首先使用 htpasswd 等工具建立一個新的 .htpasswd 檔案。

此檔案應包含將被授予訪問許可權的每個使用者的使用者名稱和加密密碼。然後,將以下程式碼新增到您的 .htaccess 檔案中 -

AuthType Basic AuthName "Restricted Content" 
AuthUserFile /path/to/your/.htpasswd Require valid-user  

這告訴 Apache 使用基本身份驗證,並在使用者嘗試訪問受限內容時提示他們輸入使用者名稱和密碼。AuthName 值是將在登入提示中顯示的內容,而 AuthUserFile 值應指向 .htpasswd 檔案的位置。

使用 htaccess 重定向 URL

使用 .htaccess 檔案,可以將請求從一個 URL 或目錄重定向到另一個 URL 或目錄。當在您的網站上移動內容或更改您的域名時,這很有用。要重定向單個 URL,請在 .htaccess 檔案中使用此程式碼 -

Redirect 301 /old-url.html http://www.example.com/new-url.html   

這將永久重定向對 "old-url.html" 的任何請求到 "new-url.html"。

要重定向整個目錄及其內容,請使用此程式碼 -

RedirectMatch 301 ^/old-directory/(.*)$ http://www.example.com/new-directory/$1     

這將永久重定向對 "old-directory" 及其子目錄中檔案的任何請求到 "new-directory" 中的相應位置。末尾的 "$1" 確保保留目錄名稱之外的任何其他路徑資訊。

使用 htaccess 阻止 IP 地址

有時可能需要阻止某些 IP 地址訪問您的網站。這可以透過在 .htaccess 檔案中新增以下程式碼來完成 -

Order allow,deny 
Deny from 123.456.789 Allow from all  

這將拒絕來自指定 IP 地址(在本例中為 "123.456.789")的任何請求的訪問,同時允許所有其他請求。您還可以使用 CIDR 表示法阻止整個 IP 地址範圍 -

Order allow,deny Deny from 123.456.0.0/16 
Allow from all  

這將阻止來自以 "123.456" 開頭的 IP 地址範圍的所有請求。

使用 htaccess 自定義錯誤頁面

預設情況下,當您的網站出現問題(例如 404 頁面未找到錯誤)時,Apache 會顯示通用錯誤頁面。但是,您可以使用 .htaccess 檔案建立您自己的自定義錯誤頁面,併為使用者提供更有幫助且更具品牌特色的體驗。要設定自定義錯誤頁面,請將以下程式碼新增到您的 .htaccess 檔案中 -

ErrorDocument 404 /404.html 
ErrorDocument 500 /500.html 
ErrorDocument 403 /403.html  

這告訴 Apache 在使用者遇到網站上的 404、500 或 403 錯誤時顯示指定的 HTML 檔案。

請注意,這些 HTML 檔案應位於您網站的根目錄中,以便此方法正常工作。瞭解和利用 .htaccess 檔案的功能(如密碼保護、重定向 URL、阻止 IP 和自定義錯誤頁面)可以幫助您最佳化網站的效能並增強其安全措施。

結論

.htaccess 檔案是一個強大的工具,可以增強您網站的安全、效能和使用者體驗。在您的 Apache 伺服器上啟用和設定 .htaccess 檔案可以幫助您保護敏感資訊、阻止惡意攻擊、重定向 URL 和自定義錯誤頁面。

.htaccess 檔案還可以透過快取和最大程度地減少 HTTP 請求來減少頁面載入時間,從而用於最佳化網站的效能。因此,如果您想改進網站的功能,則必須啟用和設定 .htaccess 檔案。

更新於: 2023年7月11日

2K+ 閱讀量

開啟你的職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.