質問: ### 前提・実現したいこと Vagrant上でFuelPHPを使ってアプリケーションを開発しています。 その際、スタイルを変更しようとするとcss(style.css)の変更がブラウザに反映されずに困っています。 ホストOS上のプロジェクトフォルダ内でstyle.cssを変更しています。 ### 試したこと1 ブラウザキャッシュかと思い、ブラウザのキャッシュ削除してみましたが効果なし。 変更は反映されませんでした。 ### 試したこと2 さらにブラウザ側の線を疑うため、wgetでstyle.cssを取得するも、 変更が反映されていないstyle.cssが返ってきます。 ### 試したこと3 そもそもゲストOSに変更が反映されていないのかと思い ゲストOSにsshした後、該当のstyle.cssを確認したところ、変更が反映されていました。 もちろんファイルの更新日時も変更が反映されています。 ### 試したこと4 ゲストOSの方でvimなりnanoなりでstyle.cssを編集して保存すると ブラウザ側にも変更が反映されます。 ホストOS上で編集して(この時点では反映されていない) ゲストOS上のvimで開き、編集はせずに:wqした場合も変更が反映されました。 ### 試したこと5 FuelPHPのcssを読み込む、 ``` ``` が何か悪さしているのかと思い ``` ``` に書き変えてみるも、変更は反映されていませんでした。 ### 試したこと6 FuelPHPのAssetsではデフォルトでファイル名末尾に更新日時のタイムスタンプが(style.css?1467319333の様に)つきますが、 このタイムスタンプの部分はホストOS側でファイルを編集しても変更されていました。 タイムスタンプ部分が変更されているにもかかわらず、style.cssの中身は変更されていませんでした。 style.cssのHTTPのステータスコードはタイムスタンプ部分が変更になると200 OKが、 タイムスタンプ部分がブラウザリロード前と同じだと304 Not Modifiedが返ってきます。 上述の通り、200 OKの場合もstyle.cssの内容は変更されていません。 また、タイムスタンプの部分をつけない設定にしても、当然ですが変更は反映されていませんでした。 ### 試したこと7 そもそもFuelPHPのViewファイルを変更した場合は変更が反映されるので Viewファイルのhtml内に直接styleタグでスタイルを書き加えた場合は、当然ですが変更が反映されます。 ### 環境情報 環境については下記の通りです。 追加で必要な環境情報がありましたらお申し付け下さい。 Vagrant 1.8.1 CentOS 7.2.1511 Apache 2.4.6 PHP 5.6.20 FuelPHP 1.7.2 是非、お知恵をお貸し下さい。 どうぞよろしくお願い致します。
回答: vagrantの共有フォルダを利用している場合、apacheの設定によってはホストOSでの変更が反映されないようです。 以下ページを参考に`httpd.conf`に`EnableSendfile off`を設定してみてください。 設定後、設定反映のためapacheの再起動をお忘れなく。 VagrantでCSSの更新が反映されない場合の対処法 VagrantでCSSを更新しても反映されないのは共有ディレクトリを使っているから