2012-09-27 166 views
0

我是新来的URL重写,有点沮丧。我在服务器上使用Helicon,并获得了大部分URL以正确地重新写入。Url重写 - 查询字符串解析

(我不得不删除了“//” s到允许我提出问题,但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&[email protected]=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] 

它是一个单独的例子,但语法说明我在做什么。

+0

什么产品呢? – Andrew

回答

0

这是否适合您?

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

[更新]

试试这个:

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

你是我的英雄! – Norseman

+0

但等一下...有没有办法来处理:http://example.com/Object/ID/?page=1&pagesize=10 我注意到它不起作用的第二块开始之前querystring – Norseman

+0

这个新的正则表达式能为你工作吗? – 2012-10-21 14:19:52