ここでのQ&Aに従って、JBoss 5で実行されているWebアプリに同様の自動バージョニングシステムを実装したいと思います。この種のことを行うためにすでに何かありますか、それとも自分で何かを書く必要がありますか?明確にするために:私はPHPを使用していません。
PHPについてあまり知らないので、PHP.htaccess
などのTomcat/JBossアナログが何であるかわかりません。独自の自動バージョン管理を作成する必要がある場合、どこから始めればよいですか?原則は明らかです。ファイルのタイムスタンプを使用してURLを書き換えますが、JBoss/Tomcatを使用したURLの書き換えについてはよくわかりません。
アップデート:
Pascalと初心者が推奨するアプローチを組み合わせて、私が最終的に得たものは次のとおりです。
1.カスタム<my:script/>
とタグなので、どこにでもタグ<my:style/>
を表示する必要はありません。<c:url/>
<%@ tag body-content="empty" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ attribute name="src" required="true" rtexprvalue="true" %>
<script src="<c:url value="${src}" />"></script>
2.初心者の手順にかなり厳密に従いますが、web.xmlにマッピングUrlRewriteFilter
します。/*
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3. CACHE_BUST変数をすべての新しいセッション(多かれ少なかれ...)に挿入し、アプリケーションは
タイムスタンプをデプロイします。
// On application deploy:
long CACHE_BUST = System.currentTimeMillis() / 1000;
// later...
session.setAttribute("cacheBust", CACHE_BUST);
4. ...これらのルールを次の場所で使用できるようにしますurlrewrite.xml
:
<outbound-rule>
<from>^/static/(css|js|images)/(.*)$</from>
<to>%{context-path}/static/%{session-attribute:cacheBust}/$1/$2</to>
</outbound-rule>
<rule>
<from>^/static/\d{10}/(css|js|images)/(.*)$</from>
<to>/static/$1/$2</to>
</rule>