デフォルトでは、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
400 Bad Request
エラーをマッピングします/var/www/html/404.php
か?