2010-05-10 54 views
0

我知道標題是有點怪,但這裏的網址是什麼樣子:如何在重寫規則中捕獲URL的「子部分」?

/user/xxx/page 
/user/xxx/page?error=yyy 

第一個URL規則看起來是這樣的:

RewriteRule ^user/(\d+)/page$ something.pl?id=$1 [L] 

,並使其工作與第二個URL,它變成:

RewriteRule ^user/(\d+)/page(error=\d+)?$ something.pl?id=$1 [L] 

我的問題是...我如何捕獲錯誤號?我想這兩個:

RewriteRule ^user/(\d+)/page(error=(\d+))?$ something.pl?id=$1&error=$2 [L] 
RewriteRule ^user/(\d+)/page(error=(\d+))?$ something.pl?id=$1&error=$3 [L] 

但它不工作...

我怎樣才能做到這一點?

回答

2

您可以簡單地使用QSA標誌,以獲得附加到新的一個原始查詢:

RewriteRule ^user/(\d+)/page$ something.pl?id=$1 [L,QSA] 

現在的/user/xxx/page?error=yyy的請求將得到改寫爲/something.pl?id=xxx&error=yyy