0

ちょうど 30 分前に、私は本当に予想外の問題に遭遇しました (実際、これは私の人生で初めて、そして 10 年間の Web サイトのコーディングの中で初めて起こりました)。

私の管理モジュールの特定のページで、数日前とまったく同じように、いくつかの画像が古い状態に戻りました。つまり、昨日変更したのですが、今ではすべて元のように見えます。

それはもっと奇妙になります。Filezilla でログインし、画像を削除しました。それらは、変更する前の 3 日前と同じように表示されます。

画像の URL にアクセスすると、古い画像が表示されます。Windows フォルダーをローカルで見ると、それらは新しいバージョンであり、再度アップロードしても、ブラウザーには古いバージョンが表示されます。

Chrome のキャッシュを消去したり、Chrome に何か関係があると思ってコンピューターを再起動したりしましたが、本当に選択肢がありませんでした。Firefox は同じ古い画像を表示します (新しいバージョンの画像をアップロードした場合でも)。

私は CPanel FTP マネージャーを試してみましたが...驚きです...画像を見ると、それは画像の良いバージョンです (新しいものです!)。しかし、すべてのブラウザは画像を見ることができません。また、重要なポイントとして、ftp で画像を消去しても、ブラウザにはまだ表示されます (SHIFT + f5、それでも表示されるので、キャッシュからではありません)。?!?!

問題を指摘してくれて本当に感謝しています。乾杯

4

3 に答える 3

2

ホスティング プロバイダーには、画像のリクエストをキャッシュするリバース プロキシがあるようです。この問題を解決する 1 つの方法は、URL に何か (おそらく要求パラメーター) を追加することです。これにより、要求が同じ画像に対するものではないとプロキシーに認識させることができます。

: http://www.example.com/yourimage.png?date=2012-10-25

于 2012-10-25T14:08:24.877 に答える
0

ホスティングプロバイダーがあなたをめちゃくちゃにしているように聞こえるので、最初のステップはそれらを捨てて別の場所に移動することだと思います...

ただし、ジョニの提案が機能しない場合は、次のようにサーバー上で動的にイメージを構築できます。

<img src="imageHandler.php?image=myimage.png" />

imageHandler.php コードは、画像のバイトを読み取り、HTTP 応答を手動で作成して、画像のバイトを返す必要があります。PHP でそれがどのようになるかはわかりませんが、数行以上のコードであってはなりません。

画像のプルなどの些細なタスクに大量の処理とディスク アクセスが必要になるため、これはひどい解決策ですが、少なくとも機能することを期待しています。

于 2012-10-25T14:18:08.540 に答える
0

外的要因に関連していたので、自分の質問に答えるのは初めてです。

はい、問題は修正されました。それは実際には技術者でした。部門 ISP でファイルをホストしていますが、ドメイン xxx.net の仮想ホスト構成ファイルの構成が間違っていました。

乾杯、問題は修正されました

于 2012-10-26T06:54:39.897 に答える