Rewrite rule error: HTTP Error 500.50 - URL Rewrite Module Error. The expression “https://abc.com/{R:1}” cannot be expanded

后端 未结 2 1344
梦毁少年i
梦毁少年i 2021-02-18 22:13

Whenever someone makes request over HTTP protocol I rewrite the url to make it HTTPS. This is the code in web.config:

&         


        
相关标签:
2条回答
  • 2021-02-18 22:36

    The matches are zero based.

    <action type="Rewrite" url="https://abc.com/{R:1}" />
    

    Won't work because you only have one match. You need:

    <action type="Rewrite" url="https://abc.com/{R:0}" />
    

    Also, this won't work, because you can only match on the path below the site root.

    <match url="^(?!https://).*" ignoreCase="false" />
    

    It looks like you are checking for ssl. Try this instead:

          <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
            <add input="{HTTPS}" pattern="^OFF$" />
          </conditions>
    
    0 讨论(0)
  • 2021-02-18 22:45

    You can redirect through web config to Hope it will help full

    <rule name="Redirect to WWW" stopProcessing="true">
      <match url=".*" />
         <conditions>
           <add input="{HTTP_HOST}" pattern="^abc.com$" />
         </conditions>
      <action type="Redirect" url="http://www.abc.com/{R:0}" redirectType="Permanent" />
    </rule>
    
    0 讨论(0)
提交回复
热议问题