デフォルトでは、Apacheは.htaccessファイルを使用して書き換えルールを適用することを禁止しているため、
ステップ1— mod_rewriteを有効にする(有効になっていない場合)
最初に、mod_rewriteをアクティブにする必要があります。利用可能ですが、Apache2のクリーンインストールでは有効になりません。
$ 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