Nếu bạn có thể thay đổi nguồn của ứng dụng bạn có thể sửa đổi nó để bạn có thể sử dụng phương pháp "tham số" để trích xuất JSESSIONID. Theo mặc định (ít nhất là trên Tomcat) JSESSIONID sẽ không được chuyển qua bài đăng biểu mẫu nhưng bạn có thể sửa đổi biểu mẫu của mình để bao gồm nó. Ví dụ: trang JSP có thể trông giống như sau:
<form action="index.jsp" method="post">
<input type="hidden" name="JSESSIONID" value="${pageContext.session.id}"/>
<input type="submit"/>
</form>
Hoặc bạn có thể thử và tìm nạp JSESSIONID từ cookie phiên bằng cách sử dụng điều kiện khác. Tôi chưa thử như sau nhưng hãy tưởng tượng một cái gì đó như nó có thể làm việc cho bạn:
<rule>
<name>Proxy URL with jsession ID's</name>
<note></note>
<condition type="cookie" name="JSESSIONID"/>
<from>^/([^?]*)\.htm(.*)$</from>
<to type="proxy">%{request-url};jsessionid=%{cookie:JSESSIONID}$2</to>
</rule>
Có những điều kiện khác bạn có khả năng có thể sử dụng để kiểm tra xem id phiên là hợp lệ (yêu cầu phiên-id-hợp lệ) , có nguồn gốc từ một cookie (được yêu cầu-phiên-id-từ-cookie) hoặc có nguồn gốc từ URL của hành động đăng (yêu cầu-phiên-id-từ-url).
Tôi không chắc bạn đang sử dụng phiên bản UrlRewriteFilter nào nhưng nếu bạn xem "Chuyển hướng vĩnh viễn URL đến chứa jsessionid." ví dụ tại URL sau, bạn sẽ thấy JSESSIONID không phải là tham số như Các tham số POST/GET là.
http://urlrewritefilter.googlecode.com/svn/trunk/src/doc/manual/3.2/guide.html
Tôi rất có thể khuyên bạn sử dụng Firefox/Firebug với nhau để xem xét yêu cầu POST và tiêu đề của bạn để bạn có được một ý tưởng chính xác những gì đang được thông qua. (Tôi chắc rằng có những công cụ tương tự khác cũng làm được điều này, Fiddler 2, vv).
Nguồn
2011-10-30 22:07:53
Bạn gặp phải loại lỗi nào? – Kraylog
từ cụm từ thông dụng không khớp và quy tắc viết lại không hoạt động –
Vấn đề của bạn là bạn không thể truy xuất các trường nhập liệu qua POST? – kamaci