Thế Giới Trong Tầm Tay Trang chủ
  FAQ FAQ  Tìm kiếm trong diễn đàn   Đăng ký Đăng ký  Đăng nhập Đăng nhập

Cơ bản nhất về URL Rewriting

 Gửi trả lời Gửi trả lời
Tác giả
  Chủ đề Tìm kiếm Chủ đề Tìm kiếm  Hỗ trợ Hỗ trợ
admin View Drop Down
Admin Group
Admin Group
Hình đại diện

Tham gia: 06/1/2008
Đến từ: Vinh
Trạng thái: Ngoại tuyến
Bài viết: 1230
  Trích dẫn admin Trích dẫn  Gửi trả lờiTrả lời Chuyển liên kết đến bài viết này Chủ đề: Cơ bản nhất về URL Rewriting
    Ngày viết: 29/12/2009 lúc 2:10pm

Downloads

Giới thiệu

Bài viết giới thiệu cơ bản về URL Rewriting trong ASP.NET.
URL Rewriting là một kỷ thuật thay đổi đường dẫn trang web của bạn trên thanh Address của trình duyệt.
Ví dụ:
Link cũ: 
http://daylaptrinh.com/default.aspx?tab=home
Link sử dụng URL Rewriting:
http://daylaptrinh.com/tab/home
Với điều kiện như vậy trên Server bạn phải phân tích đường link request về và tiến hành chuyển request sang đường link cũ, nhưng ở Client vẫn thấy đường link mới.

Phân tích đường đi của URL Rewriting

Ta sẽ nhận được link request từ Client là:
  1. http://daylaptrinh.com/tab/home  <-- Client request
  2. Server tách trong link trên ra thành: "http://daylaptrinh.com" , "tab" và "home"
  3. Server đẩy request này đến trang: default.aspx?tab=home
  4. Ở trang default.aspx sẽ xử lý Query String bình thường và Response cho Client.

Mấu chốt của URL Rewriting là

Tất cả Request từ client về Server điều thông qua sự kiện "Application_BeginRequest", cho nên ta lợi dụng chổ này để đẩy một request đến nơi khác. Xem code ở trang Global.asax
<%@ Application Language="C#" %>
<script runat="server">

void Application_BeginRequest(object sender, EventArgs e)
{
string url = Request.Url.ToString().ToLower();
if (url.Contains("/category/"))
{
string id = url.Substring(url.LastIndexOf('/')).Replace("/", "");
Context.RewritePath("~/Category.aspx?id=" + id, true);
}
}

</script>
Link request nhận được ở đây là "Request.Url" và hàm đẩy Request đi trang khác là "Context.RewritePath()".

Kết luận

Sử dụng Url Rewriting rất có lợi cho SEO, đãm bảo hơn về bảo mật, nhưng đổi lại sẽ làm chậm Request của bạn thêm một chúc vì mọi Request điều bị chặn lại để phân tích. Chúc các bạn thành công.

Nói về Tác Giả

Chat với tớ thuthuattinhoc@yahoo.com

Các mục liên quan

Các bạn có thể tham khảo thêm ví dụ ở MSDN.


Sửa bởi admin - 29/12/2009 lúc 2:10pm
Lên trên
longvnns@zing.vn View Drop Down
Thành viên
Thành viên
Hình đại diện

Tham gia: 08/11/2009
Trạng thái: Ngoại tuyến
Bài viết: 7
  Trích dẫn longvnns@zing.vn Trích dẫn  Gửi trả lờiTrả lời Chuyển liên kết đến bài viết này Ngày viết: 02/1/2010 lúc 9:02pm
Cám ơn về bài viết hay, thật sự tôi đang rất cần cái này, nhưng cho tôi hỏi tốt cho SEO là sao??? Mong bạn hướng dẫn cho tôi. Cám ơn nha!
 
 
Nói chung trong cõi người ta
Bắt buộc là phải hít ra hít vào
chuyên gia Thiết kế website không bằng cấp
Lên trên
 Gửi trả lời Gửi trả lời

Di chuyển nhanh Tôi có thể làm gì trong diễn đàn ? View Drop Down

Bulletin Board Software by Web Wiz Forums® version 9.08
Copyright ©2001-2008 Web Wiz

Trang này được tạo ra trong 0.156 giây.