現象
「ローカルで開発して、その変更をVagrantと同期させ、Vagrant側でapacheを設定してブラウザ確認」という流れの開発を行っている際に、同期が完了(Vagrant側のファイルも変わっている)しているにもかかわらず、ブラウザでアクセスした際にその変更が反映されない。ブラウザキャッシュも削除済み。
直接Vagrantの該当ファイルを書き換えるとようやく反映される。
解決方法
apacheの設定ファイルのEnableSendfile
という項目(デフォルトはON)をOFFにする。
今回は、VagrantのDocumentRoot(/var/www/html)以下を、ローカルの開発ディレクトリと共有させていたので、以下のように変更。
<Directory /var/www/html>
EnableSendfile off
</Directory>
EnableSendfile
の詳細な説明は以下リンクで確認できます。