在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,并可以根据需要添加自定义规则。