2010-01-12 53 views
2

晚上好。煤層國際化重定向

有沒有一個標準的方法來重定向/重寫一個特定的網址到另一個?

設想一個用戶訪問以下觀點:http://www.something.com/us/download.xhtml?id=2

我想從之前設定的語言環境和重定向到http://www.something.com/download.xhtml?id=2

<page view-id="/us/download.xhtml*" action="<action to set the locale>"> <navigation> <redirect view-id="#{facesContext.viewRoot.viewId}" /> </navigation> </page>

嗯,基本上,我想設置的語言環境(例如:us),傳遞給viewId /us/download.xhtml,並重定向到viewId而不帶語言環境引用。

感謝

+0

如果你得到你的目標,與我們分享 – 2010-01-13 03:10:13

回答

1

使用過濾器監聽/*從URL中提取區域和轉發無區域前綴請求新的URL。你真的不應該重定向,具有語言環境的URL會丟失,這對SEO很不利,因爲你會在同一個GET URL後面提供多個內容,而GET應該是冪等的。這也會使本地化頁面無法標記。只需轉發的請求。

1

您應該考慮使用PrettyFaces URL-rewriting,他們有一個<rewrite match="oldurl" substitute="newurl" />功能,可以讓你做到這一點,除了繪製漂亮的網址,如/login更換標準網址,如/faces/login.jsf

<url-mapping id="store"> <pattern value="/store/" /> <view-id>/faces/shop/store.jsf</view-id> </url-mapping>

文檔的重寫功能:Reference Guide