在Ubuntu下,使用Apache實現URL重寫主要依賴于mod_rewrite
模塊。以下是配置URL重寫的步驟:
確保已安裝Apache: 如果尚未安裝Apache,請在終端中運行以下命令來安裝:
sudo apt update
sudo apt install apache2
啟用mod_rewrite
模塊:
在終端中運行以下命令來啟用mod_rewrite
模塊:
sudo a2enmod rewrite
配置Apache虛擬主機:
編輯Apache虛擬主機配置文件,通常位于/etc/apache2/sites-available/
目錄下。例如,編輯000-default.conf
文件:
sudo nano /etc/apache2/sites-available/000-default.conf
在<VirtualHost>
標簽內,找到DocumentRoot
指令,將其指向您的網站根目錄。例如:
DocumentRoot /var/www/html
在虛擬主機配置中啟用URL重寫:
在<Directory>
標簽內,添加以下代碼以啟用URL重寫:
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
其中,AllowOverride All
允許.htaccess
文件中的重寫規則生效。
重啟Apache服務: 保存更改并退出編輯器。在終端中運行以下命令以重啟Apache服務:
sudo systemctl restart apache2
創建或編輯.htaccess
文件:
在網站根目錄(例如/var/www/html
)中創建或編輯.htaccess
文件。在此文件中,您可以定義URL重寫規則。例如,將所有請求重定向到index.php
文件:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L]
這里,RewriteEngine On
啟用URL重寫引擎,RewriteCond
定義條件,RewriteRule
定義規則。
現在,Apache已配置為在Ubuntu下使用URL重寫。根據需要修改.htaccess
文件中的規則以滿足您的需求。