Tải bản đầy đủ (.docx) (9 trang)

Cấu hình sử dụng URL rewrite module trong IIS 7

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (609.17 KB, 9 trang )

Cấu hình sử dụng URL Rewrite Module trong IIS 7

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: />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.
Các link dạng: http://localhost/song/123/take-me-to-your-heart
sẽ được hiểu như link: http://localhost/song.aspx?id=123&title=take-me-to-your-heart
Code của file Song.aspx như sau:
<%@ Page Language="C#"%>
1. <html>
2. <head runat="server">
3.

<title></title>

4. </head>
5. <body>


6.

Test URL Rewrite Module on IIS 7


<table>

7.

<tr>

8.
9.

<th>Server Variable</th>


10.

<th>Value</th>

11.

</tr>

12.

<tr>
<td>Original URL: </td>

13.
14.

<td><
%= Request.ServerVariables["HTTP_X_ORIGINAL_URL"] %></td>

15.

</tr>

16.

<tr>
<td>Final URL: </td>

17.
18.


<td><
%= Request.ServerVariables["PATH_INFO"] + "?" + Request.S
erverVariables["QUERY_STRING"] %></td>

19.
20.

</tr>
</table>

21.
22.
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
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:
<rewrite>
1.
2.

<rules>

<rule name="NameToRewrite" enabled="true">
<match url="^song/([0-9]+)/([_0-9a-z-]+)" />

3.
4.

5.
6.


</rule>
</rules>

7. </rewrite>


Chú ý: ở đây bạn cần quan tâm
Thẻ <rule> có 2 thuộc tính là name và 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



×