2012-10-18 175 views
0

我遇到了IIS7中Url Rewrite模块的问题。我已经阅读了几篇关于这类问题的文章,我似乎无法弄清楚。无法用IIS7重写URL Url重写

这里的规则:

<rule name="Imported Rule 11" stopProcessing="true"> 
    <match url="/s\/([\w\%20\s]+)\/default\.aspx" /> 
    <action type="Rewrite" url="\/landingpage.aspx\?mc={R:1}" 
    logRewrittenUrl="true" /> 
</rule> 

我进口它从以前的ISAPI INI过滤器看起来像下面这样:

RewriteRule ^\/s\/([\w\-\_\%20\s]+)\/default\.aspx \/landingpage.aspx\?mc=$1 [L,I] 

我不得不调整正则表达式一点得到它与内置测试仪一起工作,但它与网址匹配

/s/RETQ211CA/default.aspx 

而且根据日志请求通过为:

2012-10-18 15:41:54 ::1 GET /s/RETQ211CA/default.aspx - 80 - ::1 Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+6.1;+WOW64;+Trident/4.0;+SLCC2;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30729;+.NET4.0C;+.NET4.0E) 404 0 0 1468 

这发生在本地或通过互联网。

有人能告诉我我在这里做错了什么吗?

谢谢!

回答

1

下面的规则将做的伎俩:

s\/([\w\%20\s]+)\/default\.aspx 

你可以开始与这个规则^与$终止,如果你愿意的话。

令人困惑的是,url重写假定你在根目录下。

+0

这样做!不知道为什么我第一次这样做没有成功...... – wali