Tôi đang sử dụng hai quy tắc này trong tập tin web.config của tôi:IIS URL Rewriting: Thực thi hostname & HTTP kinh điển thành HTTPS redirect
<rule name="Enforce canonical hostname" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" negate="true" pattern="^www\.example\.com$" />
</conditions>
<action type="Redirect" url="https://www.example.com/{R:1}" redirectType="Permanent" />
</rule>
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
</rule>
Với hai quy tắc này tôi nhận được các Redirect sau đây để làm việc:
- http://www.example.com --->https://www.example.com
- http://example.com--->https://www.example.com
- https://example.com ---> này thất bại trong việc tái trực tiếp đến https://www.example.com ... Tại sao?
Chỉ cần kiểm tra, có bạn chắc chắn có văn bản ngay trong mục 2 ở trên - đó http://mysite.com đổi hướng thành công với http * s *: //www.mySite.com? –
Chúng không phân biệt chữ hoa chữ thường? - ở một số nơi bạn đã sử dụng mySite, trong các trang khác của mysite (ví dụ ở mục 3). –
Tôi chỉ sử dụng địa chỉ www.mysite.com thay vì địa chỉ thực của tôi :) –