Sử dụng tomcat, làm cách nào để nhận được yêu cầu http://www.mydomain.com chuyển hướng đến http://www.mydomain.com/somethingelse/index.jsp ? tôi thậm chí đã không quản lý để có được một index.html để hiển thị từ http://mydomain.com .
Sử dụng tomcat, làm cách nào để nhận được yêu cầu http://www.mydomain.com chuyển hướng đến http://www.mydomain.com/somethingelse/index.jsp ? tôi thậm chí đã không quản lý để có được một index.html để hiển thị từ http://mydomain.com .
Câu trả lời:
Đặt tên ứng dụng web của bạn là WAR “ROOT.war” hoặc chứa thư mục “ROOT”
Bạn có thể làm điều này: Nếu cài đặt tomcat của bạn là mặc định và bạn chưa thực hiện bất kỳ thay đổi nào, thì cuộc chiến mặc định sẽ là ROOT.war
. Vì vậy, bất cứ khi nào bạn gọi http://yourserver.example.com/
, nó sẽ gọi index.html
hoặc index.jsp
của tệp WAR mặc định của bạn. Thực hiện các thay đổi sau trong webapp/ROOT
thư mục của bạn để chuyển hướng các yêu cầu đến http://yourserver.example.com/somewhere/else
:
Mở webapp/ROOT/WEB-INF/web.xml
, xóa mọi ánh xạ servlet với đường dẫn /index.html
hoặc /index.jsp
và lưu.
Loại bỏ webapp/ROOT/index.html
, nếu nó tồn tại.
Tạo tệp webapp/ROOT/index.jsp
với dòng nội dung này:
<% response.sendRedirect("/some/where"); %>
hoặc nếu bạn muốn chuyển hướng đến một máy chủ khác,
<% response.sendRedirect("http://otherserver.example.com/some/where"); %>
Đó là nó.
Hãy xem UrlRewriteFilter về cơ bản là một triển khai dựa trên java của mod_rewrite của Apache.
Bạn sẽ cần giải nén nó vào ROOT
thư mục trong thư mục Tomcat của bạn webapps
; sau đó bạn có thể định cấu hình chuyển hướng đến bất kỳ ngữ cảnh nào khác trong WEB-INF/urlrewrite.xml
tệp cấu hình của nó .
Quy trình kiểm tra và làm việc:
Di chuyển đường dẫn tệp
..\apache-tomcat-7.0.x\webapps\ROOT\index.jsp
xóa toàn bộ nội dung hoặc khai báo các dòng mã bên dưới ở đầu index.jsp
<% response.sendRedirect("http://yourRedirectionURL"); %>
Xin lưu ý rằng trong tệp jsp, bạn cần bắt đầu dòng trên bằng <% và kết thúc bằng%>
Tôi đã làm gì:
Tôi đã thêm dòng sau vào bên trong ROOT / index.jsp
<meta http-equiv="refresh" content="0;url=/somethingelse/index.jsp"/>
<% response.sendRedirect("/some/where"); %>
và nó hoạt động với HTTPS ngay bây giờ.
Trong Tomcat 8, bạn cũng có thể sử dụng van viết lại
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^/(.*)$ /somethingelse/index.jsp
Để thiết lập van viết lại, hãy xem tại đây:
http://tonyjunkes.com/blog/a-brief-look-at-the-rewrite-valve-in-tomcat-8/