在 WEB-INF 中创建 XML 文件

creating XML file inside WEB-INF

我正在使用 http://tuckey.org/urlrewrite/ 创建我网站的地图,目前我有很多 link,我无法手写所有规则,例如:

<rule>
   <from>^/about-us$</from>
   <to type="redirect">/myWeb/Controller?page=ForwardAbout</to>
</rule>

Tuckey 在 WEB-INF 文件夹中使用了一个名为 urlrewrite.xml 的文件。

重定向规则可以来自数据库,例如:每当创建文章时,向所需的 link 插入一行,例如:

/about-potatoes

规则会变成这样

<rule>
   <from>^/about-us$</from>
   <to type="redirect">/myWeb/Controller?page=ForwardPotatoes</to>
</rule>

然后应该写 urlrewrite.xml 以便重定向到新文章。

主要问题是:如何在 WEB-INF 中创建这个 urlrewrite.xml

第二个问题:假设每周都有新文章,每周创建这个urlrewrite.xml来更新规则,规则是否适用而无需重新再次部署网络应用程序?

在大多数应用程序服务器上,您无法动态更改 Web 应用程序内部的任何内容,除非您重新打包并重新部署应用程序。

即使您可以更改文件,例如在未打包的战争中,tuckey 可能仍然只读取一次文件,除非您重新启动应用程序,否则不会选择新规则。

你为什么不制定一个匹配所有请求的更动态的规则?在重写规则中,您可以使用反向引用,例如'$1​​' 将匹配括号之间的第一个正则表达式,例如:

<rule>
   <from>^/about-(.*)$</from>
   <to type="redirect">/myWeb/Controller?page=Forward</to>
</rule>