IIS URL重写 - 需要帮助重写论坛的友好URL

时间:2013-02-21 04:56:55

标签: iis iis-7 url-rewriting iis-7.5

我是新手使用URL Rewrite模块,我遇到的问题是我认为对论坛帖子进行简单的URL重写(使用IIS 7.5)

我需要改写:

/forum/100/2534/friendly-title

或:

/forum/100/2534/334/comment/friendly-thread-title

为:

/forum/?forum=100&thread=2534&post=334&postType=comment

我写的规则(不工作)是:

^forum/([1-9][0-9][0-9]*)/([1-9]*)/(([1-9]*)/(post|comment)/)?([a-zA-Z0-9-]{5,50})$

映射到:

/forum/?forum={R:1}&thread={R:2}&post={R:4}&postType={R:5}

我收到404错误。

1 个答案:

答案 0 :(得分:1)

使用第一个网址时,{R:4}{R:5}为空是正确的。这是因为这些字段没有值。 RegEx仍然匹配,因此URL仍将被重写。您的代码应该正确处理postpostType查询字符串参数的空值,以显示整个线程,而不仅仅是一个特定的注释(至少我认为假设会发生这种情况)。

顺便说一下,更合乎逻辑的URL结构是:

/forum/100/2534/friendly-thread-title/comment/334

这不会帮助你解决这个特殊问题,但只是侧面说明。