IIS7 URL重写模块替换

Ste*_*fan 3 regex iis iis-7 url-rewriting

我非常喜欢IIS7 URL重写模块,到目前为止,它对我很有用.

有一件事我不知道该怎么做:我想永久地将所有编码空格(%20)的URL重定向到一个用短划线( - )替换空格的URL.

所以这:

http://www.test.com/About%20Our%20Mission.aspx

应该重定向到这个:

http://www.test.com/About-Our-Mission.aspx

只有正则表达式才有可能吗?

Jer*_*ein 6

没有办法直接做你想要的.

你可能会满足于这样的事情:

^(.*)%20(.*)%20(.*)%20(.*)  replaced by:  {R:1}-{R:2}-{R:3}-{R:4}
^(.*)%20(.*)%20(.*)         replaced by:  {R:1}-{R:2}-{R:3}
^(.*)%20(.*)                replaced by:  {R:1}-{R:2}
Run Code Online (Sandbox Code Playgroud)

  • 如果按 2 的幂而不是按 1 倒计时,则不需要那么多规则,并允许处理后续规则。例如,上面的规则匹配 16 个空格,然后是 8 个空格,然后是 4,然后是 2,然后是 1。按该顺序使用时,它们将匹配最多 31 个空格的任意数量,并且将使用 5 个规则来匹配共 31 条规则 (2认同)