2012-10-19 50 views
0

可能重複:
Mod Rewrite and Using PHP’s GET for URL’s When not Following the Rules

我一直在抓我的頭在這幾天......我有一個實例,其中一個URL需要在$_GET字符串上傳遞不同的變量。

我想找解析以下URL:

http://www.domain.com/1/count/?var1=a&var2=b 

基本上,我需要解析count作爲$_GET['var3']變量與後斜槓(?var1=a&var2=b)之後附加其他附加瓦爾沿。

我已經試過很多其他的選擇大致如下,但它導致404:

RewriteRule ^1/(count|list|detail)$/$ /1/service.php?method=$1 
RewriteRule ^1/(count|list|detail)$/$ /1/service.php?method=$1&$2? 

我已經沖刷很多文檔和答案,但我無法找到答案適用,承認,這讓我慢慢地瘋了!

任何幫助將被慷慨地接受和讚賞。

+0

你要求'[QSA]'或者你有不同的URL方案相匹配?爲什麼在正則表達式中有兩個'$'結束標記? – mario

+0

只有一個URL模式,我有兩個$,因爲我知道每個可以被標記爲解釋一個不同的變量($ 1,$ 2 - 如果兩者都列出)。 – nickhar

+0

在更換零件中,是的。但只有當你有兩個比賽組時。這與正則表達式中的意義不同。 – mario

回答

1
RewriteRule ^/?1/(count|list|detail)/?$ /1/service.php?method=$1 [QSA] 
3

要使用[QSA],查詢字符串追加。閱讀關於它here。如果這是你在瀏覽器中想要的東西:

http://www.domain.com/1/count/?var1=a&var2=b

你應該把這個在你的htaccess文件

RewriteRule ^(count|list|detail)/$ /service.php [QSA]

我刪除一些東西從您的規則上面,不知道你的系統,我不確定他們在那裏。什麼是1和重複$

此規則將發送到domain.com/count/?t=5domain.com/service.php?t=5

+0

編號'1'只映射到service.php所在的目錄/ 1 /。但是,在你的例子中,除了't'之外,這個列表/使用'count'作爲$ _GET變量嗎? – nickhar

+0

+1,因爲你幫助驅動我正在尋找的答案。謝謝。 – nickhar