簡體   English   中英

重寫規則錯誤:HTTP錯誤500.50-URL重寫模塊錯誤。 表達式“ https://abc.com/{R:1}”不能擴展

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

每當有人通過HTTP協議發出請求時,我都會重寫該URL以使其成為HTTPS。 這是web.config中的代碼:

<rule name="Imported Rule 1-1" enabled="true" stopProcessing="true">
    <match url="^(?!https://).*" ignoreCase="false" />
    <conditions logicalGrouping="MatchAll">
        <add input="{SERVER_PORT}" pattern="80" ignoreCase="false" />
    </conditions>
    <action type="Rewrite" url="https://abc.com/{R:1}" />
</rule> 

但是,當我在http://上瀏覽時,出現IIS錯誤

HTTP錯誤500.50-URL重寫模塊錯誤。 表達式"https://abc.com/{R:1}"不能擴展。

我該如何解決? 我完全感到困惑。

匹配從零開始。

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

無法正常運作,因為您只有一場比賽。 你需要:

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

此外,這將不起作用,因為您只能在網站根目錄下的路徑上進行匹配。

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

看來您正在檢查ssl。 嘗試以下方法:

      <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
        <add input="{HTTPS}" pattern="^OFF$" />
      </conditions>

您可以通過Web配置重定向到希望它對您有所幫助

<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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM