2012-09-27 226 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