5

問題

これは、別のアプローチを見つけようとしている昨日の (未回答の) 質問 (こちらを参照) のフォローアップです。

基本追加しました

    <error-page>  
            <error-code>404</error-code>  
            <location>/404search.jsf</location>  
    </error-page>

..私にweb.xml404search.jsf検索機能に送信するためにユーザーが入力した URL を取得する必要がありますが、ユーザーが入力した実際のクエリではなく、現在の URL (この場合は ... ) しか取得できません。

試み

  • HttpServletRequest.getRequestURL戻り値http://www.website.com/foldername/404search.jsf
  • HttpServletRequest.getRequestURI戻り値/foldername/404search.jsf
  • HttpServletRequest.getQueryString何も返さない

返してほしい/foldername/wrong-url-the-user-entered#anchor-if-there-is-any

詳細...

アイデアは、ユーザーが入力した URL (www.site.com/product/99999-product-that-cant-be-foundまたは など) を取得し、それを REGEX してハイフンを削除し、 orwww.site.com/faq/support-question-that-doesnt-existを使用して検索クエリを実行することです。99999 product that cant be foundsupport question that doesnt exist

助言がありますか?

4

2 に答える 2

-1

「referer」(スペルミス) 要求ヘッダーを使用してその URL を取得できる場合があります。

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.36

Java の使用法: HttpServletRequest - 参照 URL を取得するには?

于 2013-08-15T17:27:26.020 に答える