2013-03-24 2 views
0

TomCat 서버를 사용 중이고 새 위치로 전환해야합니다. 이전 링크를 정상적으로 전달하기 위해 Tomcat 인스턴스를 일시적으로 이전 서버에 남겨 두겠습니다. 내가 tuckey의 URL을 재작 성 발견하고 그것이 전달하기 전에 메시지를 표시하지 않는 것을 제외하고는, 아주 잘 작동하는 것 같습니다.알림 페이지를 표시 한 후 리디렉션 URL

현재 해결책은 5 초 후에 자동 리디렉션되는 http://myserver:8080/에 "이동 된"알림을 넣는 것입니다.

그러면 http://myserver:8080/browse/ISSUE-123과 같은 직접 연결에 urlrewrite 규칙을 사용하여 http://mynewserver:8080/browse/ISSUE-123으로 전달합니다. 이 작동하지만 사용자에게 새 위치로 메시지를 전달하기 전에 메시지를 표시하고 싶습니다.

팁을 주시면 감사하겠습니다. 나는 현재의 해결책이 "충분하다"라고 생각하지만, 더 좋을 수도있다.

편집은 내가 일을 생각 해결책을 찾았지만, 난 여전히 의견을 열려있어. "이 페이지가 이동되었습니다"템플릿에서 HTML 리다이렉트를 넣기위한 인수 (URL 재 작성자에 의해 생성 된)를 취할 스크립틀릿을 가진 간단한 JSP 페이지를 만들었습니다. 이렇게하면 사용자가 올바른 위치로 전달되고 링크를 업데이트하라는 메시지가 표시됩니다.

답변

0

좋아, 이미이 자리에 있기 때문에 미래에 누군가를 도울 수 있기 때문에 내 대답을 자세히 설명 할 것이라고 생각했습니다.

이 솔루션은 구현하는 데 30 분 정도 걸렸습니다.

  1. 다운로드 톰캣 (http://tomcat.apache.org/)
  2. 다운로드 UrlReWrite (http://tuckey.org/urlrewrite/)
  3. 구성 앞으로

    <urlrewrite> 
        <rule> 
         <from>/browse/(.*)</from> 
         <to type="redirect">http://mynewserver:8080/browse/$1</to> 
        </rule> 
    </urlrewrite> 
    

원하는 내와 urlrewrite.xml이 바로 그들에게 새 페이지를 전달합니다 .

<urlrewrite> 
    <rule> 
     <from>/browse/(.*)</from> 
     <to type="redirect">%{context-path}/forward.jsp?requestedPage=$1</to> 
    </rule> 
</urlrewrite> 
:

<meta http-equiv="REFRESH" content="5;url=http://mynewserver:8080/browse/<%= request.getParameter("requestedPage") %>"> 

가 그럼 난 다음에 urlrewrite.xml 업데이트 : 나는 내 스크립틀릿와 .jsp로 같은 간단한 HTML 페이지를 만들어 앞으로 다음 페이지를 표시 할 수있는 괜찮은 방법을 발견

원하는 페이지에서 "앞으로"화면으로 전달합니다.이 화면에는 새 서버의 동일한 페이지로 이동하는 메타 리디렉션이 있으며 사용자에게 서버 이동에 대해 알려줍니다.

+0

나는 이것이 XSS에 취약하다는 것을 알고 있지만 (신속하게)'EscapeHtml()'을 사용할 수 없다. 이 사이트는 인트라넷 전용 사이트이기 때문에 보안 위험으로 인해 걱정하지 않았습니다. – Origin

관련 문제