Câu hỏi này sẽ hoạt động tốt nhất với các ví dụ.Cách chuyển hướng dấu gạch chéo thêm vào URL bằng IIS
Giả sử ứng dụng web của tôi được lưu trữ tại http://example.com/WebApp/
According to Microsoft, IIS sẽ chuyển hướng nếu các dấu gạch chéo là mất tích. Và điều này hoạt động như mong đợi: yêu cầu được gửi đến http://example.com/WebApp
được chuyển hướng đến http://example.com/WebApp/
.
Bây giờ trong trường hợp của tôi, ai đó đã đánh dấu URL bằng một dấu gạch chéo thêm về phía trước: http://example.com/WebApp//
. Thao tác này sẽ tải ứng dụng web như mong đợi nhưng giờ đây tất cả các URL tương đối đều sai. Vì vậy, nếu tôi gọi một ứng dụng khác trên cùng một tên miền, ví dụ: ../AnotherApp/SomePage.aspx
, thì nó sẽ cố gắng tải /WebApp/AnotherApp/SomePage.aspx
thay vì tải chính xác /AnotherApp/SomePage.aspx
.
Tôi làm cách nào để chuyển hướng http://example.com/WebApp//
đến http://example.com/WebApp/
?
Không nói đây là những gì bạn nên làm ... hoặc rằng nó sẽ làm việc chắc chắn vì tôi không thể kiểm tra nó ngay bây giờ. Nhưng có lẽ bạn có thể thêm một số mã vào sự kiện tải trang để kiểm tra Request.Url sau đó chuyển hướng người dùng đến trang nếu Url không khớp. Bạn đã thử bất cứ điều gì? –
@DanielCook Điều này sẽ không hoạt động vì tại thời điểm đó, đối tượng Yêu cầu cho biết '/ WebApp/Default.aspx' để quá muộn. – styfle
bản sao có thể có của [Xóa nhiều dấu gạch chéo chuyển tiếp] (http://stackoverflow.com/questions/12004223/remove-multiple-forward-slashes) – dana