46

私のプロジェクトの 1 つで、外部画像リンクを使用して、GitHub ページを介してスクリーンショットを表示しています。これにより、README.rst が自動的に解析されます。

ROyWebのGitHubページ

このスクリーンショットをこの数週間で何度か Web サーバーで更新しましたが、GitHub ページで更新されていないことに気付きました...まあ、更新されていないと思います;-) GitHub はどういうわけか画像をダウンロードし、そこから読み込みますキャッシュ サーバー。

README.rst 内には、明らかに正しいリンクがあります。

ROyWeb スクリーンショットへの実際のリンク

生ファイルをロードすると、次のことを確認できます。

GitHub の生の README.txt

しかし、GitHubページで表示された画像のURLを確認すると、次のようになります。

GitHub にキャッシュされた ROyWeb のスクリーンショット

「再キャッシュ」を強制する方法を知っている人はいますか?

4

4 に答える 4

74
curl -X PURGE {url of cached badge image}
于 2016-05-03T09:41:29.663 に答える
2

私は今これを行う方法を理解したと信じています。たとえば、生のpngファイルを提供する代わりに、phpファイルを介して画像を提供します(SOの多くの例)。

PHP で画像を表示したら、次のヘッダーを追加します。

header('Cache-Control: no-cache');
header('Expires: ' . gmdate('D, d M Y H:i:s \G\M\T', time() - 36000));

を設定no-cacheし、過去にキャッシュを期限切れにすることで、GitHub の CDN が更新のたびに画像を自動的に更新することがわかりました。

于 2015-01-12T00:59:53.473 に答える