Sự khác nhau là “/news/1” dễ coi hơn “/news.asp?id=1”.
Chúng ta cùng bắt đầu:
Bước 1: Tạo file asp-rewrite.asp trên website http://tamnguyen.vn/ với code:
- Class URL
- Private aURL ' Mảng các phần tử trong URL
- Private Sub Class_Initialize()
- sTemp = Request.Querystring
- ' Bỏ các ký tự dầu trong URL: “404;”, “403”
- sTemp = Right(sTemp, len(sTemp) - 4)
- ' Bỏ đi phần địa chỉ chính trong URL
- sTemp = replace(sTemp, "http:// tamnguyen.vn:80/", "")
- sTemp = replace(sTemp, "http:// tamnguyen.vn /", "")
- ' Thêm ký tự “/” sau cùng nếu chưa có
- If Right(sTemp, 1) <> "/" then
- sTemp = sTemp & "/"
- End If
- aURL = split(sTemp, "/")
- End Sub
- Public Property Get url(index)
- If index > uBound(aUrl) then
- url = ""
- Else
- url = trim(aUrl(index))
- End If
- End Property
- End Class
- Set MyUrl = New URL
- Session(0) = MyUrl.url(1))
- Server.Transfer("/" & MyUrl.url(0) & ".asp”)
Bạn để ý, mấu chốt nằm ở lệnh:
Lệnh này chuyển xử lý đến 1 file nào đó (news.asp chẳng hạn).
Ý nghĩa của trang asp-rewrite.asp là khi người dùng truy cập địa chỉ http://tamnguyen.vn/news/1 sẽ nhận được kết quả
404;http://tamnguyen.vn/news/1
File asp-rewrite.asp có nhiệm vụ transfer xử lý về http://tamnguyen.vn/news.asp?id=1
Bước 2: Tạo file news.asp trên website http://tamnguyen.vn/ với code:
- "Content-Type" content="text/html; charset=UTF-8" />
- <%
- id = Session(0)
- Response.Write "Nội dung tin số " & id
- %>
Bước 3: Cấu hình để chuyển lỗi 404, 403, 405 về file asp-rewrite.asp xử lý. Lỗi 500 chuyển xử lý về global.asa

403;14 (Forbidden - Directory Listing Denied) ==> asp-rewrite.asp
404 (Not Found) ==> asp-rewrite.asp
405 (Method Not Allowed) ==> asp-rewrite.asp
500;15 (Internal Server Error) ==> global.asa (để hiện thị lỗi)
Hoàn tất! Bây giờ bạn có thể vào http://tamnguyen.vn/news.asp?id=1001 mà cũng có thể vào http://tamnguyen.vn/news/1001.
http://tamnguyen.vn - Chúc các bạn thành công !