Tomcat 기본 URL 리디렉션


79

바람둥이를 사용하여, 어떻게에 대한 요청을받을 수 있나요 http://www.mydomain.com 로 리디렉션 http://www.mydomain.com/somethingelse/index.jsp를 ? 나는 http://mydomain.com 에서 표시 할 index.html을 얻지 못했습니다 .


.htaccess 또는 isapi가 작동하지 않는 이유가 있습니까?
Nona Urbiz 09.09.01

5
@NonaUrbiz : .htaccess Apache http 서버 전용이 아니고 Tomcat에서 작동하지 않습니까?
Tim Büthe 2011

다른 사람 Tomcat이 추천하지 않는 것을 위해 그것은 자신의 문서를 참조 - wiki.jenkins-ci.org/display/JENKINS/...
KCD

답변:


24

웹앱 WAR의 이름을 "ROOT.war"로 지정하거나 "ROOT"폴더를 포함합니다.


이 접근 방식은 로컬에서 작업 한 다음 애플리케이션을 여러 서버에 배포 할 때 많은 문제를 일으 킵니다. 특히 여러 프로젝트가 서로 다른 서버에 배포 될 예정이고 각 프로젝트가 자체 서버에서 ROOT가 될 수있는 경우입니다.
zookastos

111

다음을 수행 할 수 있습니다. Tomcat 설치가 기본값이고 변경을 수행하지 않은 경우 기본 전쟁은 ROOT.war. 따라서를 호출 할 때마다 기본 WAR 파일 http://yourserver.example.com/index.html또는 index.jsp을 호출 합니다. webapp/ROOT요청을로 리디렉션하려면 폴더 에서 다음과 같이 변경하십시오 http://yourserver.example.com/somewhere/else.

  1. 열기 webapp/ROOT/WEB-INF/web.xml, 경로 어떤 서블릿 매핑을 제거 /index.html하거나 /index.jsp, 저장.

  2. 있는 webapp/ROOT/index.html경우 제거하십시오 .

  3. 다음 내용으로 파일 webapp/ROOT/index.jsp을 만듭니다 .

    <% response.sendRedirect("/some/where"); %>
    

    또는 다른 서버로 연결하려는 경우

    <% response.sendRedirect("http://otherserver.example.com/some/where"); %>
    

그게 다야.


7
2 단계 만 필요합니다. Tomcat 7에서 테스트되었습니다.
dustmachine

11
sendRedirect 명령은 나에게 필요한 전부였습니다. index.jsp에는 다음이 포함됩니다. <% response.sendRedirect ( "/ jasperserver"); %>
Andy Burton

3
<%와 %> 어떤 JSP 스크립틀릿 전에 추가하는 것을 잊지 마세요
자심 모하메드

지금 고쳐야하는데 다른 것도 고쳤습니다.
reinierpost

Java가 나를 위해 작동하지 않았으므로 html 리디렉션과 함께 index.html을 사용했습니다. stackoverflow.com/questions/5411538/redirect-from-an-html-page
Jaapyse

18

본질적으로 Apache의 mod_rewrite의 Java 기반 구현 인 UrlRewriteFilter 를 살펴보십시오 .

ROOTTomcat 폴더 아래의 폴더에 압축을 풀어야 webapps합니다. 그런 다음 WEB-INF/urlrewrite.xml구성 파일 내의 다른 컨텍스트에 대한 리디렉션을 구성 할 수 있습니다 .


UrlRewriteFilter는 빠르고 잘 작동합니다. 매뉴얼 에는 몇 가지 훌륭한 옵션 이 있으며이 블로그 게시물 에는 좋은 정보도 있습니다.
cwd

11

테스트 및 작업 절차 :

파일 경로로 이동 ..\apache-tomcat-7.0.x\webapps\ROOT\index.jsp

전체 내용을 제거하거나 index.jsp 맨 위에 아래 코드 줄을 선언하십시오.

<% response.sendRedirect("http://yourRedirectionURL"); %>

jsp 파일에서 위의 줄을 <%로 시작하고 %>로 끝나야합니다.


8

제가 한:

ROOT / index.jsp 안에 다음 줄을 추가했습니다.

 <meta http-equiv="refresh" content="0;url=/somethingelse/index.jsp"/>

2
추천이 손실되므로 분석 데이터가 실제로 망가질 수 있습니다.
sbichenko

이 방법의 작은 이점 중 하나는 index.jsp 대신 index.html로 이동할 수 있다는 것입니다
Edd

@AdrianRM "그것을하는 방법이 아닙니다", 그렇다면 올바른 방법은 무엇입니까?
에드 그리 벨

Viral Patel과 ChssPly76은 모두 유효한 답입니다. stackoverflow.com/a/1363781/208576 stackoverflow.com/a/1363685/208576
AdrianRM

이것은 HTTPS를 활성화 할 때까지 저에게 효과적이었습니다. <% response.sendRedirect("/some/where"); %>이제 HTTPS로 전환하여 작동합니다.
Michał Maciej Gałuszka

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.