2011-04-28 28 views
0

是的,它是微不足道的,但我可以得到正則表達式的工作?顯然不是。平凡的動態mod_rewrite

我需要打開

http://example.com/search.php?widget_id=X4234-000 

http://example.com/show.php?noddy_id=X4234-000 

我試過,

RewriteRule search\.php\?widget_id=(.+?)$ show.php?noddy_id=%1 

RewriteRule search\.php\?widget_id=(.+?)$ show.php?noddy_id=$1 

(給Fells博士的帽子提示!)

但是沒有成功。任何指針任何人?

回答

2

您無法將查詢字符串與RewriteRule進行匹配。對於使用RewriteCond指令:

RewriteCond %{QUERY_STRING} widget_id=(.*)$ 
RewriteRule search\.php show.php?noddy_id=%1 [L] 

(順便說一句,%X是組重寫conds匹配和重寫規則$ 1)

最終,你可以添加QSA的標誌,如果你有額外的變量你想保留的QueryString。

0

的確很簡單! %1應該爲$ 1

+0

感謝您的信任投票;-)但是,不,也沒有工作(我曾經有過這樣的一點:-() – Dycey 2011-04-28 06:10:05

+0

在.htaccess這個之後的其他規則可能是壓倒一切它? – 2011-04-28 07:02:34