Tôi đã một nguồn tài nguyên đó là một .
Điều này có nghĩa url của tôi trông như thế này: http://myapp/index/ .
Và tôi cần phải thêm tham số truy vấn để nó trông như thế này: http://myapp/index/.?type=xml
tôi sử dụng Freemarker cho việc trình bày các nguồn lực của tôi và làm một hack trăm mã hóa cho trường hợp này:Một nguồn url đó là một dấu chấm (% 2E)
<#if key?matches("\\.")>
<li><a href="${contextPath}/index/%2E">${key}</a></li>
</#if>
này hoạt động tốt cho Firefox. Nhưng tất cả các trình duyệt khác như IE, Safari, Chrom, Opera chỉ bỏ qua dấu chấm được mã hóa url của tôi (http://myapp/index/%2E
).
Mọi đề xuất?
Tôi đoán tôi phải cấm điều đó, thx. – cuh
Tôi nhận thấy rằng ngay cả khi% 2e là một phần của URL, ví dụ: 'http: // localhost/index% 2ehtml', Firefox (14) và Chrome chuyển nó thành' .'. Điều này được quy định trong phần 2.3. Sau đó trong phần 3.3, nó nói rằng '.' và' ..' là để tham chiếu tương đối trong tên đường dẫn. Vì vậy, 'http: // localhost /% 2e' về cơ bản có nghĩa là' http: // localhost/'. – slowpoison
Điểm tốt, @slowpoison - "URI khác nhau về việc thay thế một ký tự không được đặt trước với octet mã ASCII được mã hóa phần trăm tương ứng của nó tương đương", và "." là một nhân vật không được bảo tồn. Ah tốt. – phyzome