簡體   English   中英

IIS 7 URL重寫規則未觸發

[英]IIS 7 URL Rewrite Rule Not Firing

我已經在IIS 7中為javascript和css版本創建了重寫規則。該規則定義如下:

<rewrite>
   <rules>
     <rule name="Js/Css Cache Rewrite" stopProcessing="true">
       <match url="(.+/public/(javascript|css)/(Debug|Release)/.+\.)\d+\.(js|css)" />
       <action type="Rewrite" url="{R:1}{R:4}" logRewrittenUrl="true" />
     </rule>
   </rules>
 </rewrite>

當我針對正則表達式手動測試網址時,它會匹配。 網址遵循以下格式: http : //mytestsite.com/public/javascript/Release/SomeDir/jsfile.20100915140743.js

關於配置可能缺少的任何想法?

嘗試這個

 <?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="permalink">
                    <match url="article/(\D+)(\/)*$" />
                    <action type="Rewrite" url="http://mywebsite.com/article.aspx?id={R:1}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

您的正則表達式以(.+/public/開頭,翻譯為“一個或多個字符,后跟/public/ /”。IIS傳遞給您的URL以/public/public/開頭,都不是匹配您的正則表達式。您可能需要類似((^|.*/)public/

由於IIS的配置級別,傳入的URL最終變為“ public / ...”。 如果我在較高級別上進行配置,則它具有完整的URL。 我將正則表達式更改為以下內容:(。* public /(javascript | css)/(Debug | Release)/.+。)\\ d +。(js | css),它可以正常工作。

暫無
暫無

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

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