2013-05-13 55 views
0

我有我的網站的網頁上這樣的URLS:重寫GET陣列的Apache2 mod_rewrite的

products/?stores[]=4812&stores[]=4797&categories[]=108&min_price=&max_price=&sort=&q=&limit=10&skip=0 

我想有更好的東西,如:

products/stores/4812,4797/categories/108/min_price//... 

甚至醜陋。重要的是刪除麻煩的方括號並儘可能少地改變服務器端(我使用PHP)。

我嘗試了不同的規則,運氣不錯。提示?

+0

你試過什麼規則? – casraf 2013-05-13 14:45:51

+0

你不能用mod_rewrite很容易地做到這一點。正則表達式是強大的,但不omnicient ... – 2013-05-13 14:58:34

回答

0
RewriteRule stores/([\d,]+)/categories/([\d,]+)/min_price/([\d,]+)/sort/([\w\.]+)/ ?stores=$1&categories$2&min_price=$3&sort=$4 #etc 

這將需要您使用explode()將多個值拆分爲數組。像這樣:

<?php 
$_GET['stores'] = explode(',', $_GET['stores']); 
?> 
+0

感謝您的輸入,我解決了它,而無需編輯我的重寫規則。我只是改變了創建URL的JavaScript。不過,我很好奇,如果可以通過動態網址來完成,商店和類別可能會顛倒,而更多的字段可能會出現。 – koichirose 2013-05-13 16:43:38