ASP.Net URL重写器

时间:2010-10-21 00:26:13

标签: asp.net url-rewriting

我们正在使用URLRewriter(http://urlrewriter.net),并希望重写这样的查询:

domain.com/find/red-boots

到此: domain.com/search.aspx?k=red+boots

进入web.config的示例代码是这样的(我对这种语法有点不熟悉)

<if url="/tags/(.+)" rewrite="/tagcloud.aspx?tag=$1" />

如何在web.config中对此行进行编码以使其重写我们需要的方式?另外,如果您对如何使用重写器语法有任何好的建议,那也很好。

1 个答案:

答案 0 :(得分:1)

您要问的“重写器语法”称为正则表达式。有很多很棒的工具,只需搜索Google“正则表达式帮助”。

但是,如果您想使用背后有更多历史记录的语法,那么您可以获得更详细的帮助。请查看Managed Fusion Url Rewriter,它使用Apache mod_rewrite语法,这种语法已经成为我可以使用多年的标准。以下是用mod_rewrite语法完成问题的方法:

RewriteRule ^/find/(.*)       /search.aspx?k=$1      [NC,L]

RewriteRule之后的第一部分是尝试与浏览器请求的URL匹配的输入。第二部分是针对匹配规则发生的转换。转换将其转化为您的应用程序可以理解的内容。括号中的最后一部分是控制标记,在这种情况下,我告诉RewriteRule不要担心由NC指示的字符的情况,并且如果匹配它应该将其视为最后处理的规则,由L

表示