Cấp bậc tác giả:

DOTNET

[Phần 1]IIS URL Rewrite – rewriting non-www thành www

Được viết bởi webmaster ngày 26/08/2013 lúc 12:21 PM
Nếu bạn đang sử dụng IIS 7.0 (hoặc 7.5), URL Rewrite là công cụ tốt, trong việc cài đặt và sử dụng.
  • 0
  • 33697

[Phần 1]IIS URL Rewrite – rewriting non-www thành www

Nếu bạn đang sử dụng IIS 7.0 (hoặc 7.5), URL Rewrite là công cụ tốt, trong việc cài đặt và sử dụng.

Sử dụng URL Rewrite giúp chuyển hướng http://domain.com đến http://www.domain.com. Nhiều người đang làm điều này để tối ưu hóa công cụ tìm kiếm (SEO) đến các công cụ tìm kiếm chỉ thấy một trang web, chứ không phải là hai trang web. Mục đích là để thiết lập một thường trú 301.

Bạn có thể tải về URL Rewrite từ http://www.iis.net/expand/URLRewrite. Ảnh chụp màn hình tôi sử dụng URL Rewrite 2.0 RC1, nhưng tất cả mọi thứ mà tôi sẽ giới thiệu cũng làm việc cho phiên bản 1.0 và 1.1.

URL Rewrite hoạt động ở cấp độ Global, hoặc mức trang web (hoặc mức độ ứng dụng cho matter). Bạn áp dụng nó để quản lý máy chủ. Hoặc tên miền chuyển hướng như thế này.

Bạn có thể tạo ra các quy tắc sử dụng IIS Manager, hoặc sử dụng trình soạn thảo văn bản và cập nhật web.config trực tiếp. Tôi sẽ hướng dẫn cả hai, bắt đầu với quản lý IIS.

Chúng ta hãy bắt đầu. Trước tiên, mở IIS Manager và bấm đúp chuột vào các biểu tượng "URL Rewrite".

URL01.png

Tiếp đến, kích vào "Add Rules…" từ panel Actions.

Ở đây bạn sẽ có sự lựa chọn từ một vài lựa chọn thuật sĩ, và với URL Rewrite 2.0, bạn cũng có thể tạo ra các quy tắc. Tạo ra Blank rule (rule gửi đến).

URL02.png

Cho quy tắc một thân thiện tốt "Name". Tôi sẽ gọi "Redirect domain.com to www".

Trong hộp thả xuống "Using", bạn có thể lựa chọn giữa Regular Expressions và Wildcards. Sử dụng wildcards nếu bạn không quen thuộc với regular expressions vì chúng là trực quan hơn nhiều. Tuy nhiên, nếu sau này bạn cần tạo các quy tắc phức tạp hơn, regex là cần thiết.

Cho bản demo này chọn Wildcards.

Nhập * cho "Pattern". Nghĩa là bất cứ điều gì đủ điều kiện. Chúng ta sẽ sử dụng điều kiện sau thay vì kết hợp với URL. (Đối với Regular Expressions, sử dụng *).

Bây giờ mở rộng các "Conditions" và bấm vào nút "Add". Trong hộp thoại "Add Condition" nhập như sau:

Điều kiện đầu vào: {HTTP_HOST}
Kiểm tra chuỗi đầu vào: Matches the Pattern
Mẫu: domain.com 
(Đối với regex, nhập ^domain.com$)
Bỏ qua trường hợp: checked

URL03.png

Nhấn OK.

Cuối cùng, lần nữa thiết lập hành động.

Trong phần hành động chắc chắn rằng "Action Type" được thiết lập để chuyển hướng.

"Action Properties", nhập http://www.domain.com/{R: 0}.{R: 0} giữ lại URL hiện tại vì vậy nếu một người nào đó nhập URL như http://domain.com/aboutus thì nó sẽ giữ lại aboutus và thêm www.

Lưu ý (bổ sung sau): Nếu bạn muốn điều này chung chung hơn vào tài khoản cho nhiều tên miền và duy trì tên miền ban đầu trong chuyển hướng, hãy kiểm tra bài viết trên blog này thì bài viết tới sẽ giúp bạn hiểu thêm.

Hãy chắc chắn rằng "Append query string" vẫn kiểm tra đến các phần chuỗi truy vấn cũng được giữ lại.

Ngoài ra, hãy chắc chắn rằng "Redirect Type" được thiết lập để thường trực(301), đó là những gì công cụ tìm kiếm muốn. Công cụ tìm kiếm làm một chuyển hướng vĩnh viễn, sử dụng các vị trí mới và bỏ qua những vị trí trước.

URL04.png

Cuối cùng, áp dụng rule và kiểm tra!

Sử dụng Text Editor

Bạn cũng có thể tạo ra các quy tắc này bằng tay bằng cách thêm dòng sau vào web.config trên trang web của bạn (hoặc applicationHost.config nếu bạn thiết lập này ở cấp độ máy chủ).

Trong phần <system.webServer> của web.config, thêm như sau:

Wildcards

<rewrite>
    <rules>
        <rule name="Redirect domain.com to www" patternSyntax="Wildcard" stopProcessing="true">
            <match url="*" />
            <conditions>
                <add input="{HTTP_HOST}" pattern="domain.com" />
            </conditions>
            <action type="Redirect" url="http://www.domain.com/{R:0}" />
        </rule>
    </rules>
</rewrite>

Lưu lại và sẽ được thiết lập.

Hoặc, nếu bạn thích Regular Expressions, dùng lệnh sau:

Regular Expressions

<rewrite>
    <rules>
        <rule name="Redirect domain.com to www" patternSyntax="ECMAScript" stopProcessing="true">
            <match url=".*" />
            <conditions>
                <add input="{HTTP_HOST}" pattern="^domain.com$" />
            </conditions>
            <action type="Redirect" url="http://www.domain.com/{R:0}" />
        </rule>
    </rules>
</rewrite>

Đây chỉ là sự khởi đầu để SEO tuyệt vời, nhưng đó là bước thông thường.

Xem Phần II về cách chuyển hướng nhiều tên miền trong một miền đơn

Nguồn bài viết: DOTNET.VN

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML