0

我正在做类似于这里问的事情:

Tomcat URL 重写过滤器不转发

虽然我无所谓我使用什么机制。但是,假设有人使用此 URL 访问我的 Alfresco 实例:

网站/共享/doc.php?id=123

我希望将该 URL 重写为有效的内容。我有一个 webscript 将接收 URL,处理 ID,并将其转换为有效的 Alfreso Share URL,但我似乎无法让任何重写机制工作。Alfresco Share 使用 UrlRewriteFilter (tukey.org),我在 share 的 web.xml 中添加了以下内容:

<filter-mapping>
   <filter-name>UrlRewriteFilter</filter-name>
   <url-pattern>*.php</url-pattern>
</filter-mapping>

然后到 urlrewrite.xml:(现在只是做一个概念证明)

<rule>
   <from>/doc.php?id=(.*)</form>
   <to>/page/repository</to>
</rule>

但是,我无法获取要重写的 URL。我还测试了 urlrewrite.xml 文件中指定的其他一些 URL 重写,它看起来不像 Alfresco 正在重写,即使它们有规则(例如:/feedservice/ 似乎没有被重写到 /page/feed/ 当我单击存储库页面上的 RSS Feed 按钮时)。

我缺少一些简单的东西吗?

4

1 回答 1

0

这种重写是使用 RequestDispatcher 的 forward 方法实现的,用于传入链接,而不是重定向。因此,客户端不会出现重写的 URL。您应该能够通过验证重写 URL 的 servlet 映射来判断它是否正常工作。我认为您还可以设置 tukey 的日志级别,以便您了解它的作用。

于 2012-07-25T06:09:00.627 回答