我在localhost(ASP.NET 4)上使用了这些角色并且它可以工作:
<rewriter>
<rewrite url="~/man/(.+)" to="~/man/$1" processing="stop" />
<rewrite url="~/man/^(/.+(\.gif|\.png|\.jpg|\.ico|\.pdf|\.css|\.js|\.axd)(\?.+)?)$" to="~/man/$1" processing="stop" />
<rewrite url="~/files/^(/.+(\.gif|\.png|\.jpg|\.ico|\.pdf|\.css|\.js|\.axd|\.pdf|\.doc|\.ppt)(\?.+)?)$" to="~/files/$1" processing="stop" />
<rewrite url="~/man/" to="~/man/default.aspx" processing="stop"/>
<rewrite url="~/style/(.+)" to="~/style/$1" processing="stop" />
<rewrite url="~/images/(.+)" to="~/images/$1" processing="stop" />
<rewrite url="^(/.+(\.gif|\.png|\.jpg|\.ico|\.pdf|\.css|\.js|\.axd)(\?.+)?)$" to="$1" processing="stop" />
<rewrite url="~/register.aspx" to="~/register.aspx" processing="stop" />
<rewrite url="~/(.+)" to="~/default.aspx?pn=$1" />
</rewriter>
例如,http://localhost/myweb/foo
引用http://localhost/myweb/default.aspx?pn=foo
,但在网络服务器上http://myweb.xx/foo
表示'404 - File or directory not found.'
答案 0 :(得分:0)
哪个版本的IIS有Server,因为在II6中有不同的方式而在II7中有不同的方式。
答案 1 :(得分:0)
检查您的Web.Config的哪个部分已配置规则,因为System.web用于VS Development Server(“Cassini”),IIS6和System.WebServer用于IIS7。
您还可以查看here