2012-02-28 69 views
2

我剛剛開始使用URL Rewrite 2.0在c#.net web.config中工作。我的web.config看起來是這樣的:IIS 7禮貌跟蹤斜槓似乎與我的URL衝突重寫規則

<rewrite> 
    <rules> 
    <rule name="RemoveTrailingSlashRule2" stopProcessing="true"> 
     <match url="(.*)/$" /> 
     <conditions> 
     <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/> 
     <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
     </conditions> 
    <action type="Redirect" url="{R:1}" /> 
    </rule> 
</rules> 
</rewrite> 

這應該刪除在URL尾部斜槓。當我運行應用程序,規則將會出現在根級別的工作,所以這...

www.mysite.com/ 

...被重定向到...

www.mysite.com/ 

...但重定向在其他級別不起作用。

所以問題是,這...

www.mysite.com/pages/ 

...與結尾的斜線留在地方,如果我嘗試這個結束了......

www.mysite.com/pages 

...尾部的斜線實際上是APPENDED。

我的猜測是這是IIS 7添加的'禮貌尾隨斜線',但我不知道如何獲取URL重寫規則來覆蓋它?

回答

1

我知道這已經一歲了,但我遇到了同樣的問題,所以我決定發佈解決方案。

的問題是:

<match url="(.*)/$" /> 

應該

<match url="(.*)\/$" /> 

一旦改變一切正常。

+0

這似乎沒有任何區別。 – 2013-09-24 08:22:39