0

私はここで尋ねられたことと同様のことをしています:

Tomcat URL 書き換えフィルターが転送されない

私はどのメカニズムを使用するかに関係ありませんが。ただし、誰かが次の URL を使用して Alfresco の私のインスタンスにアクセスするとします。

ウェブサイト/共有/doc.php?id=123

その URL を有効なものに書き換えたいと思います。URL を取り込んで ID を処理し、動作する Alfreso Share URL に変換する Web スクリプトがありますが、書き換えメカニズムが機能していないようです。Alfresco Share は UrlRewriteFilter (tuckey.org) を使用しており、共有の 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/ は書き換えられないようです)。リポジトリ ページの [RSS フィード] ボタンをクリックすると、/page/feed/ に移動します)。

私が見逃している簡単なものはありますか?

4

1 に答える 1

0

この種の書き換えは、リダイレクトではなく、着信リンクの RequestDispatcher の forward メソッドを使用して実装されます。したがって、書き換えられた URL はクライアントには表示されません。書き換えられた URL のサーブレット マッピングが作動することを確認することで、それが機能しているかどうかを判断できるはずです。tuckey のログレベルを設定して、その動作を確認することもできると思います。

于 2012-07-25T06:09:00.627 に答える