Chia Sẽ Kinh Nghiệm Về IT



Tìm Kiếm Với Google
-


Gởi Ðề Tài Mới  Gửi trả lời
 
Công Cụ Xếp Bài
Tuổi 12-08-2011, 03:40 PM   #1
hoctinhoc
Guest
 
Trả Lời: n/a
Cấu hình sử dụng URL Rewrite Module trong IIS 7
Cấu hình sử dụng URL Rewrite Module trong IIS 7



Cấu hình sử dụng URL Rewrite Module trong IIS 7
Đầu tiền việc cần làm là cài đặt IIS (tất nhiên rồi ). IIS 7 chỉ có ở các phiên bản Windows Vista trở lên.
Hiện tại, bạn có thể cài đặt IIS 7.x ở các phiên bản hệ điều hành:
  • Windows Vista
  • Windows Server 2008
  • Windows 7
  • Windows Server 2008 R2

Đối với Windows 7, ta vào Start --> Control Panel --> Programs and Features --> Turn Windows features on or off --> chọn Internet Infomation Services và chọn cài đặt ASP.NET

Tiếp tục, ta sẽ cài thêm Module URL Rewrite (phiên bản mới nhất hiện tại là 2.0). Bạn có thể tải và cài đặt tại: http://www.iis.net/download/URLRewrite
Sau khi cài đặt xong URL Rewrite Module 2.0, trong IIS của bạn sẽ xuất hiện thêm Module này như hình bên dưới
Như vậy là đã xong bước cài đặt những công cụ cần thiết. Tiếp theo là bước Rewrite URL, ở đây ta sẽ có 2 cách để Rewrite URL là cấu hình trực tiếp file Web.Config của website hoặc sử dụng giao diện URL Rewrite Module vừa cài đặt lên IIS.
Ở bài viết này, mình sẽ lấy ví dụ Rewrite URL cho các link xuất ra từ file song.aspx.
Code của file Song.aspx như sau:
  1. <%@ Page Language="C#"%>
  2. <html>
  3. <head runat="server">
  4. <title></title>
  5. </head>
  6. <body>
  7. <h1>Test URL Rewrite Module on IIS 7</h1>
  8. <table>
  9. <tr>
  10. <th>Server Variable</th>
  11. <th>Value</th>
  12. </tr>
  13. <tr>
  14. <td>Original URL: </td>
  15. <td><%= Request.ServerVariables["HTTP_X_ORIGINAL_URL"] %></td>
  16. </tr>
  17. <tr>
  18. <td>Final URL: </td>
  19. <td><%= Request.ServerVariables["PATH_INFO"] + "?" + Request.ServerVariables["QUERY_STRING"] %></td>
  20. </tr>
  21. </table>
  22. <h5>http://www.Khanh.Com.Vn </h5>
  23. </body>
  24. </html>

Cách 1: Cấu hình trực tiếp file Web.Config:
Các bạn mở file Web.Config ra tìm đến dòng cuối dưới phần Comment

<!--
The system.webServer section is required for running ASP.NET AJAX under Internet
Information Services 7.0. It is not necessary for previous version of IIS.
-->

nằm trong thẻ <system.webServer> các bạn thêm tag Rewrite cấu trúc như sau:
  1. <rewrite>
  2. <rules>
  3. <rule name="NameToRewrite" enabled="true">
  4. <match url="^song/([0-9]+)/([_0-9a-z-]+)" />
  5. <action type="Rewrite" url="song.aspx?ID={R:1}&amp;Title={R:2}" />
  6. </rule>
  7. </rules>
  8. </rewrite>

Chú ý: ở đây bạn cần quan tâm
Thẻ <rule> có 2 thuộc tính là name enabled. Thuộc tính thứ nhất để xác định tên của thiết lập Rewrite, name là duy nhất và không được trùng nhau. Thuộc tính enabled = true là kích hoạt, = false là vô hiệu hóa rewrite này.
Thẻ <match> là một chuỗi Regular Expression quy định kiểu URL mà bạn muốn rút gọn lại. (Xem thêm phần Regular Expression)
Thẻ <action> xác định đường dẫn gốc. Có 2 giá trị {R:1} và {R:2} tương ứng với giá trị biến patten trong biểu thức Regular Expression.
Sau khi sửa xong file Web.Config, ta lưu lại và tiến hành chạy thử. Sẽ có kết quả như hình dưới đây

Cách 2: Cấu hình trên IIS:
Mở IIS lên, bên cột Connection ở bên trái ta chọn Website cần Rewrite URL. Ở khung bên phải, vào URL Rewrite. và chọn Add Rule(s)...
Chọn tiếp User-friendly URL
Trong ô đầu tiên bạn nhập vào chuỗi: song.aspx?id=123&title=abc
Ở đây 123 và abc ở đây sẽ đại diện cho các Request
Trong ô thứ 2 bạn chọn kiểu URL mà trình duyệt hiển thị cho người dùng. Ví dụ ở đây mình chọn song/123/abc
Xong, ta nhấn OK, và 1 Rule mới đã được tạo ra
Bạn để ý sẽ thấy có 1 file Web.Config sẽ được tạo ra trong thư mục web của bạn, hoàn toàn giống như việc bạn tự tạo một file Web.Config bằng tay để cẩu hình Rewrite URL
Thể là xong các bước để cấu hình Rewrite URL 1 cách đơn giản. Chúc các bạn thực hiện thành công .

Duy Khánh




  Trả lời ngay kèm theo trích dẫn này
Gửi trả lời


Công Cụ
Xếp Bài

Quyền Hạn Của Bạn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Hình Cảm xúc đang Mở
[IMG] đang Mở
Mã HTML đang Tắt




Bây giờ là 01:01 AM. Giờ GMT +7



Diễn đàn tin học QuantriNet
quantrinet.com | quantrimang.co.cc
Founded by Trương Văn Phương | Developed by QuantriNet's members.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.