在Ubuntu Apache中使用mod_rewrite模塊可以幫助您實現URL重寫和重定向
sudo apt-get update
sudo apt-get install apache2
sudo a2enmod rewrite
sudo systemctl restart apache2
.htaccess
文件。通常,該文件位于/var/www/html/yourdomain.com/
。如果您使用的是子目錄,請相應地更改路徑。sudo nano /var/www/html/yourdomain.com/.htaccess
.htaccess
文件中添加mod_rewrite規則。以下是一個簡單的示例,將所有請求重定向到index.php
文件:RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,QSA]
在這個例子中:
RewriteEngine On
啟用重寫引擎。RewriteCond %{REQUEST_FILENAME} !-f
檢查請求的文件是否不存在。RewriteCond %{REQUEST_FILENAME} !-d
檢查請求的目錄是否不存在。RewriteRule ^(.*)$ index.php [L,QSA]
將所有請求重定向到index.php
文件,同時保留查詢字符串參數(QSA)。保存并關閉.htaccess
文件。
最后,確保Apache配置允許使用.htaccess
文件。編輯Apache配置文件(例如/etc/apache2/sites-available/000-default.conf
),并在<Directory>
部分添加以下內容:
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
保存并關閉配置文件。
重新啟動Apache服務以使更改生效:
sudo systemctl restart apache2
現在,您已經在Ubuntu Apache中成功啟用了mod_rewrite,并可以根據需要添加自定義規則。