2010-11-03 164 views
0

我想改寫這個URL,它只是似乎並不奏效,我不清楚什麼錯誤.htaccess的URL重寫

我希望這個網址:

www.mysite.com/dvd-123/Studio/studio_name.php?thumbs=yes&order=price 

要實際發送於:

www.mysite/cat/list_products.php?studio=123&store=dvd&thumbs=yes&order=price 

這裏是我有一個是八九不離十的工作:

RewriteRule ^dvd-([0-9]+)/Studio/(.*)\.php?(.*)$ cat/list_products.php?studio=$1&store=dvd&$3 [L] 

我收到的結果是一樣的,如果我想: www.mysite/CAT/list_products.php工作室= 123 &店= DVD 忽略: &大拇指= YES $爲了=價格

預先感謝您的幫助!

回答

1

Apache documentation

格局將不會對查詢字符串匹配......爲了一個新的查詢字符串與一箇舊相結合,使用[QSA]標誌。

我還沒有測試過這個,但希望它應該指向正確的方向。

RewriteRule ^dvd-([0-9]+)/Studio/(.*)\.php$ cat/user_list_products.php?Manname=$1&store=dvd [L,QSA] 
+0

我檢查出來,QSA標誌導致錯誤500我恨的.htaccess ahaha我從未有過任何學習如何做到這一點的願望,只是有一個客戶請求它。 – BinarySolo00100 2010-11-03 22:24:43

+0

QSA國旗是關鍵!測試你的正則表達式:rubular.com – malletjo 2010-11-03 22:29:48

+0

我修正了它,不知道如何,我刪除了[L],它工作!很明顯,我做錯了,我後來的規則之一抓住哈哈。非常感謝你! – BinarySolo00100 2010-11-03 23:07:33

0

您需要避開斜槓。

RewriteRule ^dvd-([0-9]+)\/Studio\/(.*)\.php?(.*)$ cat/user_list_products.php?Manname=$1&store=dvd&supersale=$3 [L] 
+0

這不起作用 – BinarySolo00100 2010-11-03 21:53:05