AngularJS webappとJerseyバックエンドがあります。URLの書き換えを設定する必要があるため、指定された例外を除くすべてがAngularのindex.htmlに書き換えられます。
例えば。:
http://my.domain.com/about will be rewritten
http://my.domain.com/photos/photo1.jpg will NOT be rewritten (file photo 1 exists)
http://my.domain.com/rest/myservice will be NOT be rewritten (it is a call to REST service)
Tomcat 8 URL書き換えバルブを次のように設定しました。
内のconf / server.xmlを
<Host name="my.domain.com" appBase="webapps/MyDomainServer" unpackWARs="true"
autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Valve className="org.apache.catalina.valves.rewrite.RewriteValve" />
<!-- access logging, aliases,...-->
</Host>
内のconf /カタリナ/ my.domain.com / rewrite.config
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} ^/rest.*
RewriteRule ^ - [L]
RewriteRule ^ index.html [L]
Tomcatは私の書き換え設定を無視し、何も書き換えられず、ログにエラー/例外はありません。何が悪いのですか?前もって感謝します。
RewriteValveをMETA-INFのconfig.xmlに移動し、configをWEB-INFに書き換えようとしましたが、動作は同じです。
私は解決策を見つけました、問題は間違った/障害のあるrewrite.configファイルにありました。正しいはずです:
RewriteCond %{REQUEST_URI} ^/(css|img|js|partials|rest|favicon).*$
RewriteRule ^.*$ - [L]
RewriteRule ^.*$ /index.html [L,QSA]
1行目には、書き換えるべきではない列挙されたURIがあります。その他はすべてindex.htmlに書き換えられます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加