Tôi có nên xóa câu hỏi này không? Tôi đã tìm ra vấn đề là gì và không phải là IIS ... Xem câu trả lời của tôi bên dưới để biết kết quả.Chuyển hướng AJAX Weird 401 vấn đề với IIS
Câu hỏi gốc Tôi đang làm việc trên một ứng dụng ASP.Net MVC và chạy vào một vấn đề lạ với URL Rewrite chuyển hướng và yêu cầu AJAX.
Tôi đã thêm quy tắc ghi đè sau vào Web.config của mình trong trang gốc.
<rewrite>
<rules>
<rule name="Account" stopProcessing="true">
<match url="^SubApp/Account/(.*)$" />
<action type="Redirect" url="Account/{R:1}" redirectType="Found" />
</rule>
</rules>
</rewrite>
Tất cả mọi thứ dường như làm việc ok nếu tôi sử dụng một Permanent
hoặc Temporary
redirectType
trong cấu hình nhưng không thành công với một trang lỗi HTTP Error 401.0 - Unauthorized
IIS.
Khi tôi thực hiện yêu cầu GET bình thường thông qua trình duyệt cho một hành động sẽ kích hoạt quy tắc này, ví dụ: https://some-site/SubApp/Account/Settings
sau đó tôi nhận được 302 Tìm thấy và tiêu đề vị trí được đặt thành URL mong đợi https://some-site/Account/Settings
và trang thích hợp được hiển thị.
Tuy nhiên, khi tôi thực hiện yêu cầu GET qua AJAX của JQuery, số $.get('https://some-site/SubApp/Account/Settings')
mã trạng thái Trả lời là 401 Unauthorized
nhưng vẫn có tiêu đề vị trí thích hợp.
Nội dung của phản hồi là trang lỗi IIS HTTP Error 401.0 - Unauthorized
tiêu chuẩn.
Mọi thứ kỳ lạ dường như hoạt động tốt nếu tôi sử dụng các loại chuyển hướng Permanent
hoặc Temporary
trong cấu hình nhưng không thành công chỉ với Found
.
/SubApp
là một ứng dụng riêng biệt nằm bên dưới trang gốc tại /
.
gì đang xảy ra?
Ảnh chụp màn hình
redirectType="Permanent"
redirectType="Found"
redirectType="Temporary"
Như bạn có thể nhìn thấy từ ảnh chụp màn hình các di chỉ fference là redirectType
được chỉ định trong Web.config
.
Như bạn có thể thấy các chuyển hướng đang diễn ra như mong đợi với ngoại lệ cho loại chuyển hướng Found
mà tôi mong đợi nhận được phản hồi 302 - Found
chuyển hướng đến cùng một URL với các URL khác.
Bạn có thể thêm mã không. – Mairaj
Bạn có thể thêm ảnh chụp màn hình lưu lượng mạng cho cả hai trường hợp (làm việc/không hoạt động) không? – drax
Tôi có thể làm nhưng nó khá là '$ .get ("/BMS/Account/Settings ")'. Tôi sẽ cập nhật các câu hỏi với một số ảnh chụp màn hình ... – phuzi