2017-01-05 11 views
1

静的リソース以外のリンク(例:js、画像など)をindex.htmlに転送したい。私は以下の変更を加えました。Tomcatバルブ書き換えが動作しない

私は含まれていcontext.xmlapp.war/META-INF内のディレクトリを追加しました:私も含まれていapp.war/WEB-INFディレクトリ内rewrite.configいる

<Context> 
    <Valve className="org.apache.catalina.valves.rewrite.RewriteValve" /> 
</Context> 

を:ただし、上記の設定で、何が起こるかすると、そのすべての

RewriteCond %{REQUEST_URI} ^/(css|img|js|partials|rest|favicon).*$ 
RewriteRule ^.*$ - [L] 
RewriteRule ^.*$ /index.html [L,QSA] 

です私のjsとcssファイルの内容はindex.html(ブラウザコンソール)です。ここで何が問題になるのかご提案いただけますか?

答えて

1

あなたの最終規則の再書き込みは/index.htmlに至るまで:

RewriteRule ^.*$ /index.html [L,QSA] 

あなたは上記のルールは、最初に一致すると思われる場合、あなたはファイルなどへの要求点を除いて、正しいです/styles.cssは、静的なアーティファクトのためにあなたが持っている表現に一致しません。

RewriteCond %{REQUEST_URI} ^/(css|img|js|partials|rest|favicon).*$ 

問題は、あなたがそれの後に、少なくとも一つの文字を持つことが要求URIのcss部分を必要としていることです。 /css/style.cssへのリクエストが必要です。

+0

答えに感謝します。私はあなたが言及した問題を完全には得ていない。私のcssファイルとjsファイルは '/ myapp/project/css/project-123.css'/myapp/project/js/project-123.js'のように存在しますが、これらはindex.htmlの内容を示しています。 – Dan

+0

これらのファイル名は正規表現パターンと一致しません。それらは '/ myapp'で始まり'/css'では始まりません。 –

+0

@Christopherの問題を確認してくれてありがとうございます。 RegExを「(?!。* \。(?: jpg | png | css | js | json | scss)$)。* $ 'に変更しました。 – Dan

関連する問題