2017-10-12 72 views
0

我想在tomcat rewrite.config中編寫RewriteCond,這樣所有沒有擴展名或者html的URL(除了api之外)都會被重定向到/index.html。我想這樣做,所以刷新角度的應用程序開始工作。Tomcat RewriteCond

我已經有類似

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

但是,所有的網址,這意味着現在的API調用工作不匹配。所以我想排除包含/api元素的網址。是否有可能這樣做,或者我應該嘗試以其他方式指定cond,這意味着使用否定運算符而試圖指定不匹配的資源?我已經嘗試了幾種方法來實現這個目標,但都沒有成功。

+0

應該這樣做 - 也許:['RewriteRule ^(\ /(?! api)。*)$ /index.html [L]'](http://rubular.com/r/G7oO7rqF0A) – rinukkusu

+1

這個如果應用程序在默認/ ROOT上下文中將被deplyed,將會工作。如果它在其他上下文中被deplyed,例如:/context/index.html這個正則表達式匹配所有元素。 [示例](http://rubular.com/r/i8qqeHBXEV) – Dcortez

回答

0

不是我正在尋找的確切答案,但最終我設法實現了我的目標,只需將角度路由策略更改爲哈希算法即可。然後清爽突然開始工作。因此畢竟我沒有爲Tomcat重寫編寫任何規則。