asp.net - Web.config URL पुनर्लेखन-HTTPS और गैर- WWW



regex iis (1)

मेरे पास दोनों https और non-www पुनर्लेखनों की आवश्यकता है, जबकि डोमेन को भी सुरक्षित नहीं करना है , क्योंकि हमारे पास कई सर्वर हैं यह वेब। web.config में होना चाहिए, IIS में नहीं।

मैंने कई लेख पढ़े हैं:

https पुनर्लेखन काम करता है, non-www नहीं करता।

    <rule name="Redirect to HTTPS" stopProcessing="true">
      <match url="(.*)" />
      <conditions>
        <add input="{HTTPS}" pattern="^OFF$" />
      </conditions>
      <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
    </rule>
    <rule name="Remove WWW" patternSyntax="Wildcard" stopProcessing="true">
      <match url="*" />
      <conditions>
        <!--<add input="{CACHE_URL}" pattern="*://www.*" />-->
        <!--<add input="{HTTP_HOST}" pattern="*://www.*" />-->
        <add input="{HTTP_HOST}" pattern="^.*www.*" />
      </conditions>
      <action type="Redirect" url="https://{SERVER_NAME}/{R:1}" redirectType="Permanent" />
      // i've also tried
      // url="{C:2}/{R:1}"
      // url="{C:1}/{C:2}"
    </rule>

मैंने regex tester पर ^.*www.* regex का परीक्षण किया था और यह www.testing.com मेल www.testing.com रहा था, लेकिन www.testing.com नहीं - इसलिए मैं testing.com कि पैटर्न इसे पकड़ लेगा

मुझे URL से पुनर्निर्देशित करने की आवश्यकता है:


मेरी अपनी समस्या थी - www लिए कोई डीएनएस नहीं था, इसलिए रीडायरेक्ट इस पर स्वयं का समाधान नहीं करेगा।

उपयोग कोड:

    <rule name="Redirect to HTTPS" stopProcessing="true">
      <match url="(.*)"/>
      <conditions>
        <add input="{HTTPS}" pattern="^OFF$"/>
      </conditions>
      <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent"/>
    </rule>
    <rule name="Remove WWW" patternSyntax="Wildcard" stopProcessing="true">
      <match url="*" />
      <conditions>
        <add input="{CACHE_URL}" pattern="*://www.*" />
      </conditions>
      <action type="Redirect" url="{C:1}://{C:2}" redirectType="Permanent" />
    </rule>




url-rewriting