2017-10-12 1 views
0

Je voudrais écrire RewriteCond dans tomcat rewrite.config donc toutes les urls (sauf les API) qui, sans extension ou html, sont redirigées vers /index.html. Je voudrais le faire pour rafraîchir dans l'application angulaire commence à travailler.Tomcat RewriteCond

J'ai déjà quelque chose comme

RewriteCond %{REQUEST_URI} ^[^.]*(html?)?$ 
RewriteRule ^(.*)$ /index.html [L] 

Mais qui correspond à tous les urls ce qui signifie que maintenant les appels api ne fonctionnent pas. Donc, je voudrais exclure les URL contenant /api élément. Est-il possible de le faire de cette façon ou devrais-je essayer de spécifier cond à l'envers, c'est-à-dire utiliser l'opérateur de négation et plutôt essayer de spécifier des ressources qui ne devraient pas être appariées? J'ai déjà essayé quelques moyens pour y parvenir, mais aucun ne fonctionne.

+0

Cela devrait le faire - peut-être: ['RewriteRule^(\/(?! api). *) $ /index.html [L]'] (http://rubular.com/r/G7oO7rqF0A) – rinukkusu

+1

Ceci fonctionnerait si l'application était affichée dans le contexte par défaut/ROOT. S'il est affiché dans un autre contexte, par exemple: /context/index.html, cette expression rationnelle correspond à tous les éléments. [exemple] (http://rubular.com/r/i8qqeHBXEV) – Dcortez

Répondre

0

Pas une réponse exacte que je cherchais, mais finalement j'ai réussi à atteindre mon objectif simplement en changeant la stratégie de routage angulaire à hashing one. Puis rafraîchissant soudainement commencé à travailler. Donc, après tout, je n'ai pas écrit de règle pour la réécriture de Tomcat.