0

CentOS 5.8 がインストールされた VirtualBox サーバーを実行して、バックエンドで既存の 1024px x 768px ではなく 1366px x 768px の固定幅レイアウトを使用する顧客向けの新しい管理インターフェイスを開発しています。

httpd server is 'stock' Apache/2.2.3 as supplied as part of CentOS 5.8

php is 'stock' PHP 5.3.3 as supplied as part of CentOS 5.8

作業の多くは、CSS ファイルを変更して余分な幅を利用することです。クライアントのレイアウトがすべてであるためです。

問題は、どこかにファイルがキャッシュされていて、css ファイルに加えた変更が表示されないことです。Shift F5 と Ctrl F5 は、クライアント ブラウザーで違いはありません。

これは私を夢中にさせ、解決するのに時間がかかりすぎているので、助けを求めて投稿しています. .htaccess の微調整とリンク css ファイルへのパラメーターの追加に関して想定される「解決策」をいくつか試しましたが、すべて役に立ちませんでした

これは httpd の問題だと思いますが、いわゆる「専門家」の多くは、ブラウザの問題だと主張しています。MS Exploder、Opera、Chrome、および Opera Mobile Emulator でテストしましたが、css の変更がすぐに反映されることはありません。

これは他の開発者を苛立たせるに違いないので、誰かが助けてくれることを願っています。

VirtualBox CentOS 環境と Firefox v17 ですべてのキャッシュを無効にするにはどうすればよいですか?

4

3 に答える 3

2

同じ問題がありました。ここで解決策を見つけました:

http://www.danhart.co.uk/blog/vagrant-virtualbox-modified-files-not-updating-via-nginx-apache

問題は、VirtualBox の共有フォルダーが完全にはサポートされていないsendfile()ため、apache / nginx 構成ファイルでオフにする必要があることです。

apache: EnableSendfile off

nginx: sendfile off;

それは私のために働いた

于 2014-10-27T08:32:50.990 に答える
0

キャッシュは、サーバー、ブラウザ、またはその間 (プロキシ、ISP、ルーターなど) のさまざまなレベルで発生する可能性があります。

サーバー側のキャッシュ ソフトウェアがインストールされていますか? Varnish、Pagespeed、または類似のものはありますか?

ファイル名に変数の URL クエリ文字列を追加することで、キャッシングを中断できmystyle.css?r=34234235ますmystyle.css。番号を変更すると、キャッシュがどこで行われているかに関係なく、キャッシュなしで新しい URL として強制的にリロードされます。

質問に直接答えるには: Firefox では、[オプション] ウィンドウ、[詳細オプション]、[ネットワーク] タブを開くと、キャッシュを確実にクリアできます。ここに「キャッシュをクリア」ボタンがあります。ブラウザのキャッシュの問題である場合、これで問題が解決するはずです。ここには、キャッシュ サイズを管理する機能もあります。これを 0 に設定すると、Firefox が何もキャッシュしないようになります (ただし、ページの読み込みが大幅に遅くなることに備えてください)。

于 2012-11-28T14:55:58.393 に答える
0

ありがとう。

サーバーはマウントされた共有フォルダーを指すドキュメント ルートを持つ VirtualBox コンテナーでホストされているだけなので、ルーターや ISP の問題ではありません。

いくつかの異なるWebサイトをサポートする必要があり、一部のホストはphp v5.2を実行しており、他のホストはv5.3を実行しているため、このアプローチを使用しています。また、廃止された機能に関する問題を簡単に確認できることも意味します。

スタイルシート名にアドオン クエリ文字列を使用しようとしましたが、「ソースの表示」は新しい名前を示しましたが、コンテンツはまだ「古い」シートでした。

Chrome、IE、および Firefox はすべて同じ問題を表示しているため、これはブラウザの問題ではなく、間違いなく Apache サーバーです。

サーバー側のソフトウェアはインストールされていません。CentOS 5.8 DVD からの単純な「yum install httpd*」です。

work-in-progress.php を作成し、ファイルの先頭に次の内容を記述して、キャッシュされた css の問題を回避しました。

<?php
header("Content-type: text/css; charset: UTF-8");
?>

次に、拡張子 .php を使用して、スタイルシートを <head> の最後の項目として読み込みます。

<link rel='stylesheet' type='text/css' href='work-in-progress.php'>

少し粘着性がありますが、少なくともCSSでは機能します

画像もキャッシュされているため、Apache構成で変更するパラメーターを解決する必要があり、背景画像を変更するたびにファイル名を変更しない限り、「古い」画像が提供されます。

変更を加えた後、サービス httpd の再起動を試みましたが、これは何の影響もないようです。

于 2012-11-30T01:18:46.683 に答える