2012-09-10 43 views
1

將URL重寫爲隱藏的URL我想使用urlrewritefilter在URL中包含客戶名稱和語言,並將它們作爲參數傳遞給隱藏的url。這樣該網站將開放自定義。所有出現語言斜槓後的內容都應傳遞給隱藏的網址如何使用參數

http://www.x.com/customer1/en/ 重寫爲隱藏的網址。客戶不應該看到應該調用的以下URL。

http://www.x.com/myapp/

,並添加下面的參數 語言= EN 的customerID = 3

我想這個規則,但總是得到404 HTTP狀態錯誤

<rule match-type="regex"> 
<from>^/customer1/en/([A-Za-z0-9\._/]+)$</from> 
<set name="customerID">3</set> 
<set name="language">en</set> 
<to type="forward">/myapp/$1</to> 

</rule> 

回答

0

我假設你有一個Web應用程序與上下文根=「/」(沒有跨上下文)。

也許你應該激活日誌,如果它沒有完成,並看看你的規則是否被調用,並且匹配

您可以在過濾器配置中激活logrewritefilter的日誌(請參閱http://urlrewritefilter.googlecode.com/svn/trunk/src/doc/manual/4.0/index.html#filterparams)。

<filter> 
    <filter-name>UrlRewriteFilter</filter-name> 
    <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class> 
    <!-- sets up log level (will be logged to context log) 
     can be: slf4j, TRACE, DEBUG, INFO (default), WARN, ERROR, FATAL, 
     sysout:{level} (ie, sysout:DEBUG) 
     if you are having trouble using normal levels use sysout:DEBUG 
     (default WARN) --> 
    <init-param> 
    <param-name>logLevel</param-name> 
    <param-value>DEBUG</param-value> 
    </init-param> 

</filter> 

您還必須添加的依賴關係的記錄,像SLF4J的API,SLF4J-log4j12,log4j的-1.2。