Url重写 - 查询字符串解析

时间:2012-09-27 20:25:20

标签: regex iis url-rewriting iis-6 helicontech

我是网址重写的新手并且有点沮丧。我在服务器上使用Helicon并且已经获得了大多数正确重写的URL。

(我必须删除'//以允许我提交问题,但网址是标准的http://版本)

我的最后一项任务是获得这些:

http://example.com/Object/?page=1

http://example.com/Object/?page=1&pagesize=10

http://example.com/Object/?page=1&pagesize=10&backcolor=red

http://example.com/default.aspx?resource=Object&page=1

http://example.com/default.aspx?resource=Object&page=1&pagesize=10

http://example.com/default.aspx?resource=Object&page=1&pagesize=10@backcolor=red

最好我想要一个规则来处理所有3种可能性,但如果我需要制定3个规则,每个规则一个,并在最后添加[L]或其他东西也可以。我只是无法正确解析查询字符串。

这是我现有的一条规则,旨在让您了解我一直在做的事情:

RewriteRule ^/([a-zA-Z0-9]+)(/([a-zA-Z0-9]+)(/([a-zA-Z0-9]+))?)?/?($|\?) /default.aspx?resource=$1&id=$3&option=$5 [L]

这是一个单独的例子,但语法显示了我正在做的事情。

1 个答案:

答案 0 :(得分:0)

这对你有用吗?

RewriteRule ^\/([^/]*)\/\?(.*)$ /default.aspx?resource=$1&$2 [L]

[更新]

试试这个:

RewriteRule ^([^/]*(?=\/)|[^?]*(?=\?)|.*)($|[^\?]*\?(.*)) /default.aspx?resource=$1&$3 [L]