默认情况下,Apache 禁止使用 .htaccess 文件来应用重写规则,因此
第 1 步 — 启用 mod_rewrite(如果未启用)
首先,我们需要激活 mod_rewrite。它可用,但未通过干净的 Apache 2 安装启用。
$ sudo a2enmod rewrite
这将激活模块或提醒您该模块已启用。要使这些更改生效,请重新启动 Apache。
$ sudo systemctl restart apache2
mod_rewrite 现在已完全启用。在下一步中,我们将设置一个 .htaccess 文件,我们将使用它来定义重定向的重写规则。
第 2 步 — 设置 .htaccess
使用 nano 或您喜欢的文本编辑器打开默认的 Apache 配置文件。
$ sudo nano /etc/apache2/sites-available/000-default.conf
在该文件中,您会发现从第一行开始的块。在该块内,添加以下新块,使您的配置文件如下所示。确保所有块都正确缩进。
/etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Require all granted
</Directory>
. . .
</VirtualHost>
保存并关闭文件。要使这些更改生效,请重新启动 Apache。
$ sudo systemctl restart apache2
完毕。您的 .htacess 应该可以工作。
这个链接实际上可以帮助某人 https://www.digitalocean.com/community/tutorials/how-to-rewrite-urls-with-mod_rewrite-for-apache-on-ubuntu-16-04