我使用http://tuckey.org/urlrewrite/创建我的网站地图,目前我有很多链接,我不能手工编写所有规则,例如:
<rule>
<from>^/about-us$</from>
<to type="redirect">/myWeb/Controller?page=ForwardAbout</to>
</rule>
Tuckey在WEB-INF文件夹中使用名为urlrewrite.xml
的文件。
重定向规则可以来自数据库,例如:每当创建文章时,将行插入所需的链接,如:
/about-potatoes
规则将成为这个
<rule>
<from>^/about-us$</from>
<to type="redirect">/myWeb/Controller?page=ForwardPotatoes</to>
</rule>
然后应编写urlrewrite.xml
,以便重定向到新文章。
主要问题是:如何在WEB-INF中创建此urlrewrite.xml
?
次要问题:每周都会制作新文章,每周创建此urlrewrite.xml
以更新规则,这些规则是否适用,无需重新部署网络应用再次?
答案 0 :(得分:2)
在大多数应用程序服务器上,除非重新打包并重新部署应用程序,否则无法动态更改Web应用程序内的任何内容。
即使您可以更改文件,例如在解压缩的战争中,tuckey可能仍然只读取一次文件,除非你重新启动应用程序,否则不会选择新的规则。
为什么不制作符合所有要求的更具动态性的规则?在重写规则中,您可以使用反向引用,例如&#39; $ 1#39;这将匹配括号之间的第一个正则表达式,如:
<rule>
<from>^/about-(.*)$</from>
<to type="redirect">/myWeb/Controller?page=Forward$1</to>
</rule>