2011-03-14 72 views
0

我有一個.NET 4.0項目,並使用IIS 7.5 URL重寫規則在所有URL上強制使用小寫 - 入站和出站規則。我把一切都如所期望的功能,但用於對象param標記值的情況下被降低:IIS URL重寫 - 閃存對象/參數URL的小寫出站規則條件

<object width="600" height="378" id="flash_258112502" type="application/x-shockwave-flash" data="/_resources/flash/videoplayer.swf"> 
    <param value="rtmp://media.website.org/vod/mp4:20110302councilmeeting.f4v" name="serverurl"> 
</object> 

這些網址閃光燈服務器確實區分大小寫,所以修改它們的情況下破裂的功能。如何寫出一個有針對性的條件來排除這些網址被重寫?

我的web.config重新編寫出站規則如下,我試圖添加自定義標籤能夠匹配/對象或PARAM但無濟於事:

<outboundRules rewriteBeforeCache="true"> 
    <!-- convert all links to lowercase --> 
    <rule name="Outbound lowercase" preCondition="IsHTML" enabled="true"> 
     <match filterByTags="A, Script, CustomTags" customTags="object" pattern=".*[A-Z].*" ignoreCase="false" /> 
     <action type="Rewrite" value="{ToLower:{R:0}}" /> 
     <conditions logicalGrouping="MatchAny"> 
     <add input="{URL}" pattern="/workarea/" negate="true" /> 
     <add input="{URL}" pattern="media.website.org" negate="true" /> 
        <add input="{URL}" pattern="^.*\.(ashx|axd|css|gif|png|js|flv|f4v)$" negate="true" /> 
     </conditions> 
    </rule> 
    <preConditions> 
     <!-- Only process html files --> 
     <preCondition name="IsHTML" logicalGrouping="MatchAny"> 
     <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html" /> 
     </preCondition> 
    </preConditions> 
      <customTags> 
       <tags name="param"> 
        <tag name="param" attribute="param" /> 
       </tags> 
       <tags name="object" /> 
      </customTags> 
    </outboundRules> 

- 我的第一個計算器後,請和謝謝!

回答

0

規則不應該包含對象,你不希望它匹配並獲得小寫

<match filterByTags="A, Script" pattern=".*[A-Z].*" ignoreCase="false" /> 

開始與這個

<outboundRules> 
     <rule name="Outbound LowerCase Rule"> 
      <match filterByTags="A" pattern=".*[A-Z].*" /> 
      <action type="Rewrite" value="{ToLower:{R:0}}" /> 
     </rule> 
    </outboundRules> 
+0

按規定並不妨礙lowercasing刪除對象標籤。 '對象'最終在那裏試圖確保我們實際上正在處理該標籤,以便能夠創建一個條件來否定小寫規則。我不知道什麼是實際轉換,因爲我宣佈路徑「media.website.org」和擴展名「.f4v」作爲規則否定者。 – damian 2011-03-15 01:15:44

+0

我做了一個更簡單的測試來驗證,並按預期工作。我會把它分解成最簡單的規則(例如只包含A,Script)並從那裏開始。一次添加更多規則(包括否定)。 – 2011-03-15 16:14:32

+0

沒有運氣。我所有的嘗試 - 我嘗試了每個想法和組合,我可以想象。 – damian 2011-03-15 16:56:48