如何重写URL,如:www.foo.com/tags/tag1+tag2 - > www.foo.com/Pages/Articles/ArticleListing.aspx?tags=tag1+tag2

时间:2010-02-25 06:53:42

标签: regex mod-rewrite isapi-rewrite

如何为 -

添加单个重写规则
www.foo.com/tags/tag1 --> www.foo.com/Pages/Articles/ArticleListing.aspx?tags=tag1
www.foo.com/tags/tag1+tag2 --> www.foo.com/Pages/Articles/ArticleListing.aspx?tags=tag1+tag2
www.foo.com/tags/tag1+tag2+tag3 --> www.foo.com/Pages/Articles/ArticleListing.aspx?tags=tag1+tag2+tag3

1 个答案:

答案 0 :(得分:0)

以下内容适用于Apache + mod_rewrite:

 RewriteEngine on
 RewriteRule ^tags/(.*)$ /Pages/Articles/ArticleListing.aspx?tags=$1 [NC,L]

NC =无区分大小写,L =最后一条规则,如果匹配

此模式将匹配“tags /”之后的任何文本,并将其用作查询参数“tags”。为了达到这个目的,你可以使用括号作为“组”,然后你可以使用$ 1(第一组)来引用,任何后来的优先括号将被认为是$ 2,$ 3等。所以你可以在一个中有多个匹配图案。

您可以在此处找到文档:

http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html