2014-11-01 22 views
0

我一直在使用.htaccess正則表達式一個小時,目前爲止沒有任何結果。幫助讚賞。檢索獲得瓦爾斯斜線後跟隨審訊標記

這是我一直在使用的原始正則表達式。這是重複的,但它的工作原理

RewriteRule ^([a-zA-Z0-9-=_.]*)/*([a-zA-Z0-9-=_.]*)/*([a-zA-Z0-9-=_.]*)/*([a-zA-Z0-9-=_.]*)/*([a-zA-Z0-9-=_.]*) index.php?g1=$1&g2=$2&g3=$3&g4=$4&g5=$5 [NC,L] 

基本上,它轉換domain.com/url1/url2/url3 ...成被傳遞到index.php GET瓦爾。現在,我想要得到這5個變量,也得到任何附加了?var = something的東西。例如

http://www.domain.com/user($_GET['g1'])/profile($_GET['g2'])?msg=profileupdated($_GET['msg]) 

我如何更新我的正則表達式來對G1的頂部,G2高達G5,我也可以檢索其他定製得到瓦爾?謝謝。

+0

也許是容易的一切發送到'index.php',讓它處理路徑和查詢等。 – Rudie 2014-11-01 18:15:59

回答

0

我剛剛發現這個

追加QSA一個非常簡單的解決方案,以這樣的正則表達式,它奇蹟般地工作。

RewriteRule ^([a-zA-Z0-9-=_.]*)/*([a-zA-Z0-9-=_.]*)/*([a-zA-Z0-9-=_.]*)/*([a-zA-Z0-9-=_.]*)/*([a-zA-Z0-9-=_.]*) index.php?g1=$1&g2=$2&g3=$3&g4=$4&g5=$5 [QSA,NC,L] 

我在想這個解決方案會非常複雜,但QSA的確有竅門。

https://wiki.apache.org/httpd/RewriteFlags/QSA