在 CentOS 上配置 Apache 以支持偽靜態(URL 重寫)主要涉及以下幾個步驟:
安裝 Apache 和 mod_rewrite 模塊
首先,確保你已經安裝了 Apache 服務器。如果尚未安裝,可以使用以下命令進行安裝:
sudo yum install httpd
接下來,啟用 mod_rewrite 模塊,該模塊用于處理 URL 重寫:
sudo yum install mod_rewrite
sudo systemctl enable httpd
sudo systemctl start httpd
配置 Apache 的 AllowOverride
為了讓 .htaccess 文件生效,需要在 Apache 配置文件中設置 AllowOverride 為 All。編輯主配置文件 /etc/httpd/conf/httpd.conf 或者虛擬主機配置文件(通常位于 /etc/httpd/conf.d/ 目錄下),找到 <Directory> 塊并添加或修改如下行:
<Directory "/var/www/html">
AllowOverride All
</Directory>
這里的 /var/www/html 是你的網站根目錄,根據實際情況進行調整。
創建或編輯 .htaccess 文件
在你的網站根目錄(例如 /var/www/html)下創建或編輯 .htaccess 文件。添加以下內容以啟用 URL 重寫規則:
RewriteEngine On
RewriteBase /
# 示例規則:將 /example 將重寫到 /index.php?page=example
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?page=$1 [L,QSA]
這個示例規則會將所有非文件和非目錄的請求重寫到 index.php?page=請求路徑。
重啟 Apache 服務
保存 .htaccess 文件后,重啟 Apache 服務以使更改生效:
sudo systemctl restart httpd
測試配置
打開瀏覽器,訪問你的網站,確保偽靜態規則按預期工作。例如,訪問 http://yourdomain.com/example 應該會顯示 index.php?page=example 的內容。
通過以上步驟,你應該能夠在 CentOS 上成功配置 Apache 以支持偽靜態。如果你遇到任何問題,請檢查 Apache 的錯誤日志(通常位于 /var/log/httpd/error_log)以獲取更多信息。