มีการถามคำถามนี้มาก่อนและฉันได้อ่านคำถามที่แนะนำก่อนที่จะถามตัวเอง น่าเสียดายที่ฉันไม่พบคำตอบที่ต้องการ
ฉันได้เขียนใหม่ในไฟล์ Web.Config เพื่อเปลี่ยนเส้นทางโดเมน TLD จาก HTTP ไปยัง HTTPS ปัญหาที่ฉันมีคือมันเปลี่ยนเส้นทางไซต์โดเมนย่อยด้วย ฉันต้องการให้ TLD เปลี่ยนเส้นทางเท่านั้น ไม่ใช่ไซต์โดเมนย่อย
ตัวอย่างเช่น ฉันมี www.example1.co.za และ www.example2.com
ฉันต้องการให้ http://www.example2.com เปลี่ยนเส้นทางไปยัง https://www..example2.com แต่ไม่ใช่ http://a.example2.com หรือโดเมนย่อยใดๆ ของ www.example2.com
นอกจากนี้ยังต้องเก็บกฎการเปลี่ยนเส้นทางไว้สำหรับ http://example1.co.za เพื่อเปลี่ยนเส้นทางไปยัง https://example1.co.za
นี่คือรหัสกำหนดค่าของฉัน:
<rules>
<clear />
<rule name="Redirect to SSL for Mass" stopProcessing="true">
<match url="(.*)" ignoreCase="true"/>
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="example1\.co\.za$" />
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://example1.co.za" />
</rule>
<rule name="Redirect to SSL for Pro" stopProcessing="true">
<match url="(.*)" ignoreCase="true"/>
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="example2\.com$" />
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://example2.com" />
</rule>
</rules>
แก้ไข
ฉันพยายามเพิ่มกฎอื่นเพื่อยกเว้นโดเมนย่อย อย่างไรก็ตามฉันได้รับข้อผิดพลาด :(
<rule name="Exclude Sub Sites from Pro HTTPS Rule" stopProcessing="true">
<match url="(.*)" ignoreCase="true"/>
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^*\.example2\.com$" negate="true" />
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
</rule>