1

我正在尝试将基于 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 文档中提到的一个函数,也许只是不清楚它应该如何与反向引用一起使用)

4

0 回答 0