我正在尝试将基于Web的帮助文件从现有的IIS服务器移动到Tomcat的实例上,因为我们需要TomCat用于特定的应用程序。我知道我可能将tomcat插入IIS,但我不想因为a)我想学习tomcat而b)我更喜欢开销和更少的软件,而不是更多。
我现在遇到的问题是我们的帮助文件以多种语言提供,主要是英语,因此URL包含该语言,例如:http://help.mydomain.com/EN/product-help/。但是,帮助文件的一些链接(其中一些我无法控制)是小写的,这意味着我得到的请求是http://help.mydomain.com/en/product-help/。我的第一个想法是让所有内容都不区分大小写,但在Apache Tomcat文档中很明显,这绝不能在Windows系统上完成,所以我必须找到一个替代方案。
因为出于其他原因我已经在系统上安装了urlrewrite,我想,为什么不尝试使用一点正则表达式呢?虽然看起来不那么简单...我有7种语言,所以我的首发匹配是<from>/(en|fr|de|csh|es|it|jp|pt)/(.*?)</from>
,我希望结果类似于<to>/uc($1)/$2</to>
我已经尝试在谷歌上查找,相信我,但我发现的每个解决方案都没有使用url重写过滤器。我尝试了以下内容:
<from>/(en|fr|de|csh|es|it|jp|pt)/(.*?)</from>
<to>/uc($1)/$2</to>
<from>/uc(en|fr|de|csh|es|it|jp|pt)/(.*?)</from>
<to>/$1/$2</to>
<from>/(en|fr|de|csh|es|it|jp|pt)/(.*?)</from>
<to>/\U$1/$2</to>
<from>/(en|fr|de|csh|es|it|jp|pt)/(.*?)</from>
<to>/${upper:$1}/$2</to>
这些工作都没有(最后一个,$ {upper:$ 1}是urlrewrite文档中提到的函数,可能只是不清楚它应该如何与反向引用一起使用)