2012-02-28 13 views
2

私は、C#.net web.configでURL書き換え2.0を使い始めました。私の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が追加した 'courtesy trailing slash'ですが、URL書き換え規則を無効にする方法がわかりません。

答えて

1

私はこれが1年であることを知っていますが、私は同じ問題を抱えていたので、解決策を投稿することに決めました。

問題がある:それは変更され、すべての作品になると

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

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

でなければなりません。

+0

これは違いはありません。 –

関連する問題