Перенаправление интернационализации шва - PullRequest
2 голосов
/ 13 января 2010

Добрый вечер всем.

Существует ли стандартный способ перенаправления / перезаписи определенного URL-адреса на другой?

Представьте себе пользователя, имеющего доступ к следующему представлению: http://www.something.com/us/download.xhtml?id=2

Я хочу установить Locale из предыдущего представления и перенаправить на 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 без ссылки на локаль.

Спасибо

Ответы [ 2 ]

1 голос
/ 18 августа 2010

Вам следует рассмотреть возможность использования переписывания PrettyFaces , у них есть функция <rewrite match="oldurl" substitute="newurl" />, которая позволит вам сделать это, в дополнение к сопоставлению симпатичных URL, таких как /login, для замены стандартных URL, таких как/faces/login.jsf.

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

Документы для функции перезаписи: Справочное руководство

1 голос
/ 13 января 2010

Использовать фильтр прослушивания на /*, который извлекает языковой стандарт из URL-адреса и перенаправляет запрос на новый URL-адрес без префикса языкового стандарта. Вы действительно не должны перенаправлять, URL с языковым стандартом будет потерян, и это очень плохо для SEO, потому что тогда вы предоставите несколько контентов за одним GET URL, в то время как GET должен быть идемпотентным. Это также сделало бы локализованную страницу незаписываемой. Просто переслать запрос.

...