質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.63%

  • CentOS

    2634questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

  • Apache

    1771questions

    Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

cssファイルが更新されない (centos apache)

解決済

回答 5

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 7,190

twin_bird

score 205

centos6.4にapacheをインストールしています。

いつから問題が生じたのかの分からないのですが、cssファイルがブラウザにて更新が反映されない状況です。

グーグルクロームのデベロッパーツールで確認したところ、ステータスコードは200番でした。
CSSファイル自体は読み込めているみたいなのですが、更新しても反映されません。
キャッシュを削除しても同様です。

おそらくapacheの設定に問題があるのではと思うのですが、どこをいじればいいのか今ひとつ検討がつきません。

回答お願いいたします。




  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 5

+3

CSSの特定の設定が反映されない場合、可能性として 様々な原因が考えられるので、その可能性を 地道に一つずつ潰してゆくしか方法がないと思います。

この「チェックしなければならない可能性」(=関連する要素)がとても多いので、teratailのような質問サイトで質問する側にとっても、その質問へ回答しようとする側にとっても非常に厄介な問題です。
質問欄に記載された情報だけで、この回答欄にすべてを記載することはとてもできません。

しかしながら、たとえばCSS 反映しないのようなキーワードでちょっとググると、この厄介な問題のトラブルシューティングの方法を非常に分かりやすく解説してくださっているページが多数ヒットします。
いくつかご紹介致しますので、そちらを参考に地道に取り組んでみてください。
CSS/スタイルシートが反映されない原因
効率的なCSSトラブルシューティング
CSSが反映されない原因いろいろ

他にも色々な情報がありますけれども、どんな情報を参考にトラブルシュートするにせよ、解決の妨げとなる一番の要因は思い込みです。

たとえば目視で同じと判断するのではなく、たとえば記載されているパスをコピペして lsコマンドでファイルの存在を確認してみるとか、セレクタ名をコピペしてテキストエディタへ貼り付け、上下に並べてみたり、文字列検索でヒットするかどうかをみるなど、極力機械的に確認してみてください。

また、直接関係のない(と思われる箇所)を一旦コメントアウトしてみて、他の記述が副作用をもたらしていないかを順番に確認して行くという方法も有効です。言い換えると調査の範囲を限定して問題点を一つずつ潰してゆくということです。

範囲が限定できれば、ソースの問題となっている箇所を貼り付けることで、teratailでより具体的な質問をすることもできるようになります。

どうぞ頑張ってください。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/09/11 12:56

    回答ありがとう御座います。
    機械的な確認方法を心がけていきたいと思います。
    ある程度そのような方法をとっていたのですが、「部分的に今まで出来ていたのに」という思い込みがありました。

    キャンセル

check解決した方法

+1

可能性を限定的にすることができず、回答しづらい質問にもかかわらず、たくさんの回答をありがとうございました。私としてはとても勉強になりました。
キャッシュに目をつけて、apacheの設定をとりあえず見なおしてみました。
「CSSファイル apach 更新されない」などと検索したところ、以下の様な方法を見つけました。

・httpd.confでEnableMMapとEnableSendfileの設定をOFFにする

<Directory “/var/www/html”>

EnableMMAP Off

EnableSendfile Off

</Directory>

こちらの方法を試してみたところ、更新(CSSの記述)が反映されるようになりました。


たくさんの回答ありがとうございました。


投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

+1

試行錯誤して無理な場合、闇雲にやっても同じ事を繰り返したり正しい環境の状態を壊しかねません。
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/11 12:59

    回答ありがとうございます。
    ファイル取得はできていました。cssファイルへの単独のアクセスなどで確認済みです。
    apache側のキャッシュの設定を見なおしてみます。

    キャンセル

0

css変更前のファイルが読めているなら、設定は問題ないと思われます。

CentOS上からwget等でcssを直接取得しても、更新されていませんか?
更新されていなければ、更新したcssの置き場所を間違えているとかないでしょうか?

chromeのデベロッパーツール上でもcssは古いままですか?
ここで更新されているなら、cssの変更内容が間違っていて見た目に反映されていないだけかもしれません。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/09/11 00:58

    回答ありがとうございます。
    wget で css を取得するというのはどういうことでしょうか?

    デベロッパーツール上ではcssは古いままでした。

    キャンセル

  • 2015/09/11 01:05

    CentOS上でサーバを立てているなら、そのサーバのコンソールからwgetコマンドでcssのダウンロードができるかと思います。
    それを試してみた結果がどうかなと思ったのですが、デベロッパーツール上でも古いcssなのでしたら、やはり更新するファイルを間違えているのではないでしょうか?
    あとは、htmlから読んでいるcssのリンクに
    hoge.css?0104
    のようにクエリーを付けてみても変わらないでしょうか?ステータス200なので、たぶんこれを付けなくても読み込んでいるはず・・・。
    なのでやっぱり更新するファイルを間違えているんじゃないかなと思います。

    キャンセル

0

たぶん情報不足で解答しづらい気がします。
その状況で普通にやったら更新されると思うので。

更新したと思ってるCSSファイルと、ブラウザからアクセスしているCSSファイルは同じものですか?
パスが間違ってたりしませんか?

ブラウザのキャッシュ削除は正しくできてますか?
Ctrl+F5がダメなら、Ctrl+Shift+R、それでもダメなら、設定から履歴の削除で。

フレームワークを使っているなら、フレームワークがキャッシュしているのかもしれません。

別のCSSファイルを仮につくって、更新してみても、やはり更新されないですか?

それで解決しなければ、apacheのせいなのかも。
「apache キャッシュ css」で検索してみては。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2015/09/11 01:46

    ブラウザからアクセスしているファイルと更新したいファイルは同じで、パスも正しいことは確認済みです。
    キャッシュ削除は設定の方からすべて削除してみたのですが、ダメでした。
    フレームワークは、ブートストラップを使用しているのですが、それらを一度切ってみてもダメでした。

    別のCSSファイルを作ってみたところ、更新は問題無く反映されました!
    (test.cssというファイルをつくりました)
    一方で、ブートストラップのCSSのファイルは更新が反映されませんでした。


    apacheのキャッシュが問題でしょうか?

    キャンセル

  • 2015/09/11 07:09

    別のCSSファイルの更新が反映されたのなら、
    問題のCSSファイルのみの問題と考えられるので、apacheの問題ではなさそうですね。

    CSSファイル単独でアクセスしても更新は反映されないのでしょうか。
    http://xxx/xxx.css

    単独で反映されたなら、それを読みこんでるhtmlやらフレームワークやらの問題。

    ちなみに更新が反映されないというのは、記述が反映されないの意味ですよね?
    見た目が反映されないの意味ならば、また違ったアプローチになります。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.63%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • CentOS

    2634questions

    CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

  • Apache

    1771questions

    Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。