centos6.4にapacheをインストールしています。
いつから問題が生じたのかの分からないのですが、cssファイルがブラウザにて更新が反映されない状況です。
グーグルクロームのデベロッパーツールで確認したところ、ステータスコードは200番でした。
CSSファイル自体は読み込めているみたいなのですが、更新しても反映されません。
キャッシュを削除しても同様です。
おそらくapacheの設定に問題があるのではと思うのですが、どこをいじればいいのか今ひとつ検討がつきません。
回答お願いいたします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答5件
0
CSSの特定の設定が反映されない場合、可能性として 様々な原因が考えられるので、その可能性を 地道に一つずつ潰してゆくしか方法がないと思います。
この「チェックしなければならない可能性」(=関連する要素)がとても多いので、teratailのような質問サイトで質問する側にとっても、その質問へ回答しようとする側にとっても非常に厄介な問題です。
質問欄に記載された情報だけで、この回答欄にすべてを記載することはとてもできません。
しかしながら、たとえばCSS 反映しない
のようなキーワードでちょっとググると、この厄介な問題のトラブルシューティングの方法を非常に分かりやすく解説してくださっているページが多数ヒットします。
いくつかご紹介致しますので、そちらを参考に地道に取り組んでみてください。
CSS/スタイルシートが反映されない原因
効率的なCSSトラブルシューティング
CSSが反映されない原因いろいろ
他にも色々な情報がありますけれども、どんな情報を参考にトラブルシュートするにせよ、解決の妨げとなる一番の要因は思い込みです。
たとえば目視で同じと判断するのではなく、たとえば記載されているパスをコピペして lsコマンドでファイルの存在を確認してみるとか、セレクタ名をコピペしてテキストエディタへ貼り付け、上下に並べてみたり、文字列検索でヒットするかどうかをみるなど、極力機械的に確認してみてください。
また、直接関係のない(と思われる箇所)を一旦コメントアウトしてみて、他の記述が副作用をもたらしていないかを順番に確認して行くという方法も有効です。言い換えると調査の範囲を限定して問題点を一つずつ潰してゆくということです。
範囲が限定できれば、ソースの問題となっている箇所を貼り付けることで、teratailでより具体的な質問をすることもできるようになります。
どうぞ頑張ってください。
投稿2015/09/10 19:37
総合スコア5936
0
自己解決
可能性を限定的にすることができず、回答しづらい質問にもかかわらず、たくさんの回答をありがとうございました。私としてはとても勉強になりました。
キャッシュに目をつけて、apacheの設定をとりあえず見なおしてみました。
「CSSファイル apach 更新されない」などと検索したところ、以下の様な方法を見つけました。
・httpd.confでEnableMMapとEnableSendfileの設定をOFFにする
<Directory “/var/www/html”>
EnableMMAP Off
EnableSendfile Off
</Directory>こちらの方法を試してみたところ、更新(CSSの記述)が反映されるようになりました。
たくさんの回答ありがとうございました。
投稿2015/09/11 04:34
総合スコア230
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
試行錯誤して無理な場合、闇雲にやっても同じ事を繰り返したり正しい環境の状態を壊しかねません。
zipなりtarなりコピーなりでサーバ側の状態をバックアップして問題となるであろう箇所の切り分けをしていくと良いと思います。
ネットワーク環境
社内LANなどでProxyを通してアクセスしていないか?
Proxyキャッシュされていないか?
クライアント環境
ブラウザキャッシュのクリアをしてみる。
サーバ環境
XXX.cssをリネームしてみます。
サーバより $wget http://xxxxx/yyy/XXX.css で該当ファイルが無いことを確認します。
404/NotFoundでファイル取得できなければApache側は白です。
200/OKでファイル取得できたらApache側の設定を見直し。
Apache側でCache設定が行われていないか確認します。
その他、勘違いに関する部分
Apache, ブラウザともに期待した通りに最新のCSSファイルが読み取れているのに反映されていないと勘違いしている場合もあります。
pi-chanさんの回答が参考になります。
投稿2015/09/10 20:48
総合スコア241
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
たぶん情報不足で解答しづらい気がします。
その状況で普通にやったら更新されると思うので。
更新したと思ってるCSSファイルと、ブラウザからアクセスしているCSSファイルは同じものですか?
パスが間違ってたりしませんか?
ブラウザのキャッシュ削除は正しくできてますか?
Ctrl+F5がダメなら、Ctrl+Shift+R、それでもダメなら、設定から履歴の削除で。
フレームワークを使っているなら、フレームワークがキャッシュしているのかもしれません。
別のCSSファイルを仮につくって、更新してみても、やはり更新されないですか?
それで解決しなければ、apacheのせいなのかも。
「apache キャッシュ css」で検索してみては。
投稿2015/09/10 16:08
総合スコア962
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/09/10 16:46
2015/09/10 22:09
0
css変更前のファイルが読めているなら、設定は問題ないと思われます。
CentOS上からwget等でcssを直接取得しても、更新されていませんか?
更新されていなければ、更新したcssの置き場所を間違えているとかないでしょうか?
chromeのデベロッパーツール上でもcssは古いままですか?
ここで更新されているなら、cssの変更内容が間違っていて見た目に反映されていないだけかもしれません。
投稿2015/09/10 15:24
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/09/10 15:58
退会済みユーザー
2015/09/10 16:05
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/09/11 03:56