2012-07-24 85 views
0

我在做類似的東西在這裏問什麼重寫URL:內露天

Tomcat URL Rewrite Filter isn't forwarding

雖然我無所謂我用什麼樣的機制。然而,讓我們假設有人去使用這個網址我露天的實例:

網站/股/ doc.php ID = 123

我想有一個URL重寫的東西有效。我有一個webscript,將採取URL,處理ID,並將其轉換爲工作Alfreso共享URL,但我似乎無法得到任何重寫機制的工作。露天分享使用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 /似乎沒有被重寫to/page/feed /當我點擊Repository頁面上的RSS Feed按鈕時)。

有什麼簡單的我失蹤了嗎?

回答

0

這種重寫是使用RequestDispatcher的forward方法實現的,用於傳入鏈接而不是重定向。因此,重寫的URL不會顯示給客戶端。您應該能夠通過驗證重寫的URL的servlet映射來判斷它是否正在工作。我認爲您還可以設置tuckey的日誌級別,以便了解它的作用。