.htaccess に Header set Cache-Control "public, max-age=86400"
などと書いてキャッシュコントロールを行おうとしたところ 500 エラーが出て正常に Web ページが表示されなかった。
Apache のエラーログを見ると以下のような出力があるのを発見した。
[core:alert] [pid 23522] [client 113.144.2.196:59959] /path/to/.htaccess: Invalid command 'Header', perhaps misspelled or defined by a module not included in the server configuration, referer: https://example.com
"Header コマンドが無いよ" と言っているようだ。全く同じ文言を他のサーバで動かしている Web サイトでは利用できるので Apache の Headers モジュールが入っていないのだろう。
以下のようにして Headers モジュールを有効化する。
$ sudo a2enmod headers
その後 Apache を再起動
$ sudo service apache2 restart
これで正常に動作するようになった。
Sponsored Link