在Apache2中,配置URL重寫通常使用mod_rewrite
模塊。以下是配置URL重寫的步驟:
mod_rewrite
模塊已啟用。在終端中運行以下命令來啟用它:sudo a2enmod rewrite
然后重啟Apache2服務:
sudo systemctl restart apache2
.htaccess
文件。例如,如果你的網站根目錄是/var/www/html
,則在該目錄下創建或編輯.htaccess
文件:sudo nano /var/www/html/.htaccess
.htaccess
文件中添加重寫規則。以下是一個簡單的示例,將所有非www請求重定向到www:RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
這個示例中,RewriteEngine On
表示啟用重寫引擎,RewriteCond
定義了一個條件,RewriteRule
定義了重寫規則。
保存并關閉.htaccess
文件。
如果你的Apache2配置使用了AllowOverride
指令,并將其設置為None
,則需要在虛擬主機配置文件中將其更改為FileInfo
或All
。例如,在/etc/apache2/sites-available/000-default.conf
文件中找到以下行:
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
將其更改為:
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
然后重啟Apache2服務:
sudo systemctl restart apache2
現在,你的URL重寫規則應該已生效。請根據你的需求修改示例中的重寫規則。