background image

<configSections>

  <section name="RewriterConfig"

           type="URLRewriter.Config.RewriterConfigSerializerSectionHandl

er, URLRewriter" />

configSections>

<RewriterConfig>

  <Rules>

    <RewriterRule>

      <LookFor>~/tag/([\w]+)/LookFor>

      <SendTo>~/Tags.aspx?Tag=$1SendTo>

    RewriterRule>

  Rules>

RewriterConfig>

  正则表达式是一个非常了不得的东西,能匹配,能捕获。在上面的例子中,我们把符合

LookFor

条件的

/tag/xxx”重新定位到 Tags.aspx 页面上,并且将 xxx 作为 Tag

这 个

QueryString 项 的 值 , 这 样 就 能 够 在 代 码 中 通 过

HttpContext.Request.QueryString["Tag"]来获得该值了。

  

URLRewriter 的功能对于大多数应用来说已经足够了,但是我总是不喜欢。但如果非

要问我不喜欢的原因,我也难说出个子丑寅卯来。可能仅仅是这个配置方式的问题

吧。在使用

URL Rewriter 时,配置段往往会非常长,每个配置项需要从到共 4 行

代码,一个规模不大的项目都很容易出现上百行的配置。这也太

XML

了 ,我想,

为什么不用

XML Attribute 呢?这样每个配置项就能缩短为 1

——

行了

不过,这

是题外话。