2012-03-01 111 views
0

我試圖重寫多個頁面像這樣...阿帕奇重寫規則使用正則表達式

http://subdomain.domain.com/index.php?action=printpage;topic=12345.67 

要這個......

http://subdomain.domain.com/index.php/topic,12345.67.html 

我已經失敗嘗試使用...

RewriteRule ^index\.php\?action=printpage;topic=([0-9]+)\.([0-9]+)$ http://subdomain.domain.com/index.php/topic,$1.$2.html [R=302] 

Apache服務器和我的其他非相關重寫工作正常。任何人都可以提供建議嗎?謝謝。

回答

1

你不能在一個重寫規則對陣查詢字符串,你需要使用的RewriteCond和回參考:

RewriteCond %{QUERY_STRING} ^action=printpage;topic=([0-9]+)\.([0-9]+)$ 
RewriteRule ^index\.php$ http://subdomain.domain.com/index.php/topic,%1.%2.html? [R=302]