Iis

對於 IIS7.5 網路伺服器,是否可以有多個 ReWrite 規則都執行相同的操作?

  • October 31, 2018

我的重寫模組非常適合我的 IIS7.5 站點。

現在,我希望添加一些 URL,它們都進入 HTTP 410-Gone 狀態。

例如。

<rule name="Old Site = image1" patternSyntax="ExactMatch" stopProcessing="true">
 <match url="image/loading_large.gif"/>
 <match url="image/aaa.gif"/>
 <match url="image/bbb.gif"/>
 <match url="image/ccc.gif"/>
 <action type="CustomResponse" statusCode="410"
           statusReason="Gone"
           statusDescription="The requested resource is no longer available" />
</rule>

但這是無效的 - 網站並沒有開始說存在重寫配置錯誤。

還有其他方法可以做到這一點嗎?我不想為每個URL 定義一個 URL 和 ACTION。

您需要匹配每個請求,然後使用條件將其過濾到您的特定 URL:

<rule name="Old Site = Image1" stopProcessing="true">
   <match url="^(.*)$" />
   <conditions logicalGrouping="MatchAny">
       <add input="{REQUEST_URI}" pattern="^(.*)image/aaa.gif$" />
       <add input="{REQUEST_URI}" pattern="^(.*)image/bbb.gif$" />
       <add input="{REQUEST_URI}" pattern="^(.*)image/ccc.gif$" />
   </conditions>
   <action type="CustomResponse" statusCode="410" statusReason="Gone" statusDescription="The requested resource is no longer available" />
</rule>

引用自:https://serverfault.com/questions/454776