簡體   English   中英

web.config:僅在* rewritten * path存在時重寫

[英]web.config: rewrite only if *rewritten* path exists

我想從http://example.com/assets/file.ext重寫為/sites/example.com/assets/file.ext只有在重寫路徑存在的情況下才會重寫 我可以更廣泛地這樣做:

  <rules>
    <rule name="assets" stopProcessing="true">
      <match url="^assets/(.+)$" />
      <conditions>
        <add input="{HTTP_HOST}" pattern="^(www\.)?(.*)$" />
      </conditions>
      <action type="Rewrite" url="sites/{C:2}/assets/{R:1}" />
    </rule>
  </rules>

但是當我添加條件<add input="{REQUEST_FILENAME}" matchType="IsFile" /> ,它將嘗試匹配原始路徑上的文件。

可以這樣做嗎?

你想要的規則是我相信這個:

<add input="{APPL_PHYSICAL_PATH}sites\{C:2}\assets\{R:1}" matchType="IsFile" />

顯然,這必須在主機條件之后,以便反向引用可用。

暫無
暫無

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

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