Redirect https www to non-www using web.config asp.net iis 7 8.5

Thảo luận trong 'Lập trình web Asp.net' bắt đầu bởi admin, 23/8/18.

  1. admin
    Tham gia ngày:
    22/5/13
    Bài viết:
    4,997
    Đã được thích:
    1,216
    Điểm thành tích:
    113
    Giới tính:
    Nam
    Khi bạn sử dụng https hay http thường khi cấu hình chúng ta không để ý tới 2 dạng của web site là dạng http://domain - http://www.domain - https://domain - https://www.domain nên khi cấu hình thường bị thiếu các trường hợp sử dụng www ở 2 dạng http hay https, khiến web không đạt tối ưu chẩn SEO cho web.

    Redirect https www to non(www) using web.config asp.net iis 7 8.5

    Nay itseovn hướng dẫn các bạn cách redirect http hay https từ có www sang dạng non-www (không có www) hoặc tự động di chuyển khi người dùng gõ nhầm có chữ www. trong ASP.NET sử dụng web.config để Rewrite URL.trên iis 7, 7.5 hay 8.5,....

    1. Redirect web có sử dụng SSL HTTPS

    Nếu bạn tự cấu hình IIS và web bạn có sử dụng giao thức SSL https thì chắc chắn rằng bạn đã cấu hình đủ 4 trường hợp để truy cập web ở IIS, còn không bạn sử dụng hosting ngoài thì không cần kiểm tra vì họ chắc chắn đã cấu hình giúp bạn rùi.

    Để kiểm tra với các bạn tự cấu hình IIS thì vào IIS của bạn -> Bindings...
    • Tại đây bạn có thể Add... thêm nếu thiếu Site Bindings như hình.
    redirect-https-www-to-non-asp-net-iis-7-85.jpg

    Sau khi cấu hình xong, bạn mở web.config của web lên ở thư mục root chính của hosting web của bạn.

    Kéo xuống dưới và thêm đoạn code sau vô và lưu lại là xong. Kiểm tra lại web đã ok rùi nhé.
    Mã:
     
    <system.webServer>
        <rewrite>
          <rules>
            <rule name="Force non-WWW" enabled="true" stopProcessing="true">
             <match url="(.*)" />
             <conditions logicalGrouping="MatchAny">
             <add input="{HTTP_HOST}" pattern="^(www\.)(.*)$" />
             <add input="{HTTPS_HOST}" pattern="^(www\.)(.*)$" />
             </conditions>
             <action type="Redirect" url="https://{C:2}/{R:1}" appendQueryString="true" />
            </rule>
            <rule name="Force HTTPS" enabled="true" stopProcessing="true">
             <match url="(.*)" />
             <conditions logicalGrouping="MatchAny">
             <add input="{HTTPS}" pattern="off" />
             </conditions>
             <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" />
            </rule>
          </rules>
        </rewrite>
      </system.webServer>
    
    2. Redirect với web http (ko có ssl)

    Nếu bạn tự cấu hình IIS thì chắc chắn rằng bạn đã cấu hình đủ 2 trường hợp để truy cập web ở IIS, còn không bạn sử dụng hosting ngoài thì không cần kiểm tra vì họ chắc chắn đã cấu hình giúp bạn rùi.

    Để kiểm tra với các bạn tự cấu hình IIS thì vào IIS của bạn -> Bindings...
    • Tại đây bạn có thể Add... thêm nếu thiếu Site Bindings như hình.
    redirect-http-www-to-non-asp-net-iis-7-85.jpg

    Sau khi cấu hình xong, bạn mở web.config của web lên ở thư mục root chính của hosting web của bạn.

    Kéo xuống dưới và thêm đoạn code sau vô và lưu lại là xong. Kiểm tra lại web đã ok rùi nhé.
    Mã:
     
    <system.webServer>
        <rewrite>
          <rules>
            <rule name="Force non-WWW" enabled="true" stopProcessing="true">
             <match url="(.*)" />
             <conditions logicalGrouping="MatchAny">
             <add input="{HTTP_HOST}" pattern="^(www\.)(.*)$" />
             </conditions>
             <action type="Redirect" url="http://{C:2}/{R:1}" appendQueryString="true" />
            </rule>
          </rules>
        </rewrite>
      </system.webServer>
    
    Hoặc
    Mã:
    <rewrite>
        <rules>
            <rule name="Redirect to non-www" stopProcessing="true">
                <match url="(.*)" negate="false"></match>
                <action type="Redirect" url="http://domain.com/{R:1}"></action>
                <conditions>
                    <add input="{HTTP_HOST}" pattern="^domain\.com$" negate="true"></add>
                </conditions>
            </rule>
        </rules>
    </rewrite>
    
    • Đổi domian thành tên domain web của bạn.
     
    Cảm ơn đã xem bài:

    Redirect https www to non-www using web.config asp.net iis 7 8.5



Chủ để tương tự : Redirect https
Diễn đàn Tiêu đề Date
Lập trình web Asp.net Redirect http sang https dùng web.config trong IIS Asp.net 27/7/18
Lập trình web Asp.net Redirect 301 images old to new image in asp.net mvc c#? 25/3/23
Lập trình web Asp.net Redirect 301 from one website to another using web.config asp.net 29/10/21
Lập trình web Asp.net Redirect 301 trên Global.asax trong asp.net c# 100% thành công 28/2/20
Lập trình web Asp.net Redirect default.aspx to root home 301 in web.config asp.net c# 14/11/18