2012-04-02 84 views
1

我有IIS7.5運行,並且我試圖匹配一個顯式的URL。以下代碼不起作用。IIS重寫模式匹配確切的URL

<rule name="presid" stopProcessing="true"> 
    <match url="(.*)" /> 
     <conditions> 
      <add input="{REQUEST_URI}" matchType="Pattern" pattern="http://www.presid.com/presid" ignoreCase="true" negate="false" /> 
     </conditions> 
    <action type="Redirect" url="http://www.domain.com/presid" /> 
    </rule> 

I've also tried escaping the periods: 
http://www\.presid\.com/presid 
but that doesn't seem to work either. 

如何使用IIS7.5匹配特定的完整URL?

感謝

這工作,但並沒有做什麼我之後我:(。*)說破/ presid,但我有圖片: http://domain.com/images/presid/eee.jpg

我不想該圖像被重定向。

+1

REQUEST_URI不包含主機名。 改爲使用: itwb 2012-04-02 06:37:18

回答

6

REQUEST_URI不包含主機名。

用這個代替:

<add input="{REQUEST_URI}" matchType="Pattern" pattern="^/presid$" ignoreCase="true" negate="false" /> 
2

當我需要匹配一個確切完整的URL,我用2個條件,一個是主機和一個其他的,如:

<add input="{HTTP_HOST}" pattern="www.yourdomain.com" /> 
<add input="{REQUEST_URI}" pattern="pages/yourpage.aspx" />