2013-05-07 141 views
0

我已經成功地做我的網址使用清潔參數重定向舊查詢網址到新的URL重寫的.htaccess

從example.com/index.php?gender=m &高度= 70 &重量= 150

到example.com/m/70/150/

所以如果在乾淨的URL類型的人,他們會用適當的參數得到的頁面。

不過,我想使它所以如果在舊的URL有人類型,將301重定向到新的清潔URL

我已經試過這

RewriteCond %{QUERY_STRING} ^gender=([a-z]+)&height=([0-9-]+)&weight=([0-9-]+)$ 
RewriteRule ^index\.php$ http://www.example.com/%1/%2/%3? [R=301,L] 

,但它無法正常工作,沒有錯誤,沒有重寫..該URL只是看起來像舊的仍然。

編輯:

當前重寫,使網址的外觀乾淨

RewriteEngine on 

RewriteRule ^([m]+)en/([0-9-]+)-inches/([0-9-]+)-lbs/?$ index.php?gender=$1&height=$2&weight=$3 [NC,L] 
+0

什麼是你的行吟詩人RRULE是什麼樣子? – 2013-05-07 02:10:20

+0

以及它有點砍死together..but它的功能(見上文編輯爲乾淨的版本) 我有這麼 example.com/index.php?gender=m&height=70&weight=150 會變成example.com/men/70-inches/150-lbs/ 'RewriteEngine on' 'RewriteRule ^([m] +)en /([0-9 - ] +) - inches /([0-9 - ] +) -lbs /?$ index.php?gender = $ 1&height = $ 2&weight = $ 3 [NC,L]' – user2180552 2013-05-07 02:17:16

回答

0

或許你也應該覈對,而不是到URI /查詢字符串的實際要求,因爲這兩個獲取其他修改規則。還有一些你在重定向丟失,en-inches,並-lbs在清潔尋找URI的一部分。

嘗試:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\?gender=([a-z]+)&height=([0-9-]+)&weight=([0-9-]+) 
RewriteRule ^index\.php$ /%1en/%2-inches/%3-lbs/? [L,R=301] 
+0

正是我所需要的。謝謝! – user2180552 2013-05-07 04:06:17

相關問題