Thành viên | Nội dung |
tieuphu
Thống chế Erich von Manstein 50 bài
| Một lỗi rất khó chịu nếu bạn dùng Win Server 2008 cũ và chỉ có IIS 7.0 chứ không có IIS 8+. Với các phiên bản từ IIS 8 cho Windows server 2012 thì không có lỗi này.
Mất vài giờ để tìm kiếm thì ra cái sau : https://blogs.msdn.microsoft.com/tmarq/2010/05/26/how-extensionless-urls-are-handled-by-asp-net-v4/
Cơ chế hoạt động của Extensionless trên Dotnetnuke 7.2, 8.x, 9.x thế nào ? Trong DNN bạn có thể tìm thấy trong web.config như sau :
name="ExtensionlessUrl-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
By default, the root web.config file contains a path="*" mapping to DefaultHttpHandler. In integrated mode they are mapped to TransferRequestHandler. DefaultHttpHandler and TransferRequestHandler are similar in what they do. If you do not remap the handler, they will both issue a "child request" to the original URL, but ask IIS to ignore their handler mappings for this second request. By default, the IIS StaticFile handler is what will be mapped to these URLs during the second request, and that will typically result in a 404 or 403, assuming that no such file or directory exists.
Mặc định integrated mode sẽ gửi yêu cầu đến TransferRequestHandler, DefaultHttpHandler và TransferRequestHandler sẽ làm nhiệm vụ UrlRewrite. Các file tĩnh (StaticFile handler) có thể phát sinh lỗi 404 hoặc 403.
Tóm lại để Rewrite Url hoạt động chỉ cần cài thêm cái bản Fix See KB 980368 for more information link đây : https://support.microsoft.com/en-us/help/980368/a-update-is-available-that-enables-certain-iis-7-0-or-iis-7-5-handlers
Cài lên restart server là xong.
Giờ thì URL không đuôi .aspx hay extensionless đã chạy. --- Miệt mài, miệt mài ... http://awas.vn
|
|