3

この質問は何度も聞かれたことを知っていますが、最も一般的な答えは次のとおりです。

  1. .htaac​​cess ファイルを使用した自動バージョン管理。
  2. これはまったく推奨されませんが、バージョン番号をクエリ パラメータとして使用することは、たとえば、「/scripts/script1?v=1.0.0」のようになります。これにより、ブラウザはファイルをキャッシュしませんが、ジョブは実行します。

私はいくつかのリリース後の問題を処理していますが、ソフトウェア プロジェクトのライフ サイクル自体に従っていないため、問題がテストされて修正されたときにサイトを更新します。そのため、サイトを 1 週間更新しない場合と、1 日に数回更新する必要がある場合があります。

キャッシュの利点を引き続き利用できると同時に、ユーザーがページを更新したりキャッシュをクリアして最新の変更を確認したりする必要がない方法があるかどうかはわかりません。

必要な場合、asp.net に .htaac​​cess ソリューションを実装する方法はありますか?

どんな助けでも本当に感謝しています。

4

1 に答える 1

1

これは私がcssファイルに使用した解決策ですが、JSではうまくいくはずです: htaccessにはルールがあります:

RewriteRule ^(.*)_ver_.*(\..*)$ $1$2 [NC,L]

これは、「Style_ver_12345.css」などのファイル名を取り、それを Style.css に書き換えます。

次に、ファイルを含めるときに、実際のファイルの LastWriteTime をFile.GetLastWriteTime(filePath).Ticks.ToString()バージョン番号として追加します (これが私のやり方です)。ファイル名の例は、Style_ver_634909902200823172.css です。

これにより、ファイルが変更されるとすぐに新しいバージョン番号が作成されますが、物理ファイルに別の名前を付ける必要はなく、ファイルはブラウザーによってキャッシュされます。

ユーザーはページを更新する必要がありますが、キャッシュをクリアする必要はありません。必要に応じて、ロードされたスクリプトのバージョン番号とサーバー上のバージョン番号を比較する ajax 呼び出しを行うことで、強制的に更新することができます。サーバー上の新しいバージョンは、更新を強制する可能性があります。

于 2013-01-22T00:03:46.853 に答える